API--未完待续

js组成

1.ECMAScript:js标准

2.DOM: document object model文档对象模型结构 //DOM是对文档结构的创建,插入,修改,删除操作

3.BOM:browser object model 浏览器对象模型 //对浏览器窗口大小进行相关操作

调试操作

alert()  //警告框  执行就+'/n'+

console.log()  //控制台输出数据,提示

write()   //在html页面输出数据提示

confirm  //确认框

delete  //删除,一般删除对象跟对象属性,反回值为布尔值,teur/false

break  //跳出循环

continue  //跳过本次循环

单词

this ;    指当前对象本身 

1.在事件处理函数中的this :事件发生在谁身上,谁就是this

2.函数加小括号直接指向,this一般指window

3.定时器中的this指window

4.属性方法中this,就是这个属性所属的对象。

new:  操作符,创建。当调用一个构造函数的时候强制要求使用new。其他的就算了吧,会创造一个无用的portotype对象浪费内存

null:     指只有一个值即null,表示上文存在的对象,

undefined:   指只有一个值即undefined,声明变量未被初始化,变量默认为undefined

区别null和undefined可以用全等

return:  返回值

1.在if()else中出现return表示终止运行不会继续做判断,反回true/false

2.在函数中出现return,外部调用函数时,则会调用return后面的值,闭包就是运用这个属性,调用函数内部的局部变量,以不影响全局变量

arguments:  传参,实参的集合,有下标。当函数实参不确定,或者数量不确定时候用

element:  元素

length:  元素的个数,从0开始

value:   值

innerHTML :   元素的内容,还可以添加html标签

switch:  选择要执行的多个代码块之一。default关键词,规定匹配不存在时做的事

语法:

switch(n)
{
case 1:
  执行代码块 1
  break;
case 2:
  执行代码块 2
  break;
default:
  n 与 case 1 和 case 2 不同时执行的代码
}

  工作原理:首先设置表达式 n(通常是一个变量)。随后表达式的值会与结构中的每个 case 的值做比较。如果存在匹配,则与该 case 关联的代码块会被执行。请使用 break 来阻止代码自动地向下一个 case 运行。

while循环:循环在指定条件为真时执行代码块

do /while循环:  先执行一次循环,在判断条件是否为真

for循环:  循环代码块的一定次数

for/in:  循环遍历对象属性

cssText:  对于create一个元素时使用初始化其css样式

获取样式

getComputedStyle();  获取元素经过计算后的样式值(IE6-8不支持)

currentStyle();  兼容IE但是主流浏览器不兼容

定时器

setInterval();   重复定时器。每隔一段事件就调用函数

setTimeout();  一次性定时器。规定指定的时间,时间到了执行指定的method

clearInterval();  停止重复定时器

clearTimeout();  停止延时定时器

操作元素

element.getAttribute('属性名'):  获取元素属性

element.setAttribute('属性名','值')  设置元素属性

element.removeAttribute('属性名')  删除元素属性

都有兼容性问题

1.当操作属性是关键字或者保留字的时候,IE6/7会不一样,例如class IE6/7就要className

2.当操作两层及以上属性的时候只有IE支持,主流浏览器都不支持

图片预加载

new Image():创建一个Image对象,定义Image对象src。给浏览器缓存一张图片

src属性要写到onload后面,IE会报错,在FF和IE对img加载时机不同,建议不要放置过多图片会影响网页下载速度

complete属性,检测图像是否加载完成反回true/false

ie8和opera不支持onerror事件

节点操作

document.creareElement('标签名');  在文档树中创建HTML标签

node.appendChild('');  在DOM树节点中插入内容放在父级子节点最后

node.insertBefore(oli,'父级.firstChild');  在父级的现有的子节点前插入新的子节点。第二个参数为null是与appendChild一样

node.removeChild();  从一个节点中删除指定的子节点,也可自己删除自己。反回删除的对象

replaceChild('替换的对象','被替换的对象');  替换元素子节点。反悔被替换的对象的引用

数字方法:

Math 对象并不像 Date 和 String 那样是对象的类,因此没有构造函数 Math(),像 Math.sin() 这样的函数只是函数,不是某个对象的方法。您无需创建它,通过把 Math 作为对象使用就可以调用其所有属性和方法。

Math.ceil();  向上取长,只要有小数(不包括0)就进一位整数

Math.floor();  向下取整,只要有小数就不要小树保留前面的整数

Math.round();  四舍五入进整数

Math.min();  用于确定数值中最小值

Math.max();  用于确定数值中最大的值

Math.random();  返回0-1之间随机数,不包括0-1。可以规定范围公式:值=Math.floor(Math.random())*总数+第一个值)

封装随机数:

function random(lower,upper){
  var sum=upper-lower+1;//总数减去第一个数+1
  return Math.floor(Math.random()*sum+lower)    
}

Math.abs();  绝对值

Math.PI;  返回圆周率

Math.exp();  返回e的指数

Math.log();  返回数的自然对数(低为e)

Math.sin();  返回正弦

Math.sqrt();  返回平方根

Math.tan();  返回正切

Math.toSource();  返回该对象的源代码

Math.valueOf();  返回Math对象原始值

类型转换

Number();  转换为数字类型

parseInt();  从左到右转换成整数,返回解析后的数字。不指定基数浏览器解析不一致。第一位不是数字返回NaN

parseFloat();  从左到右转换成整数,并且保留小数部分,遇到一个无效的浮点数字符为止。Math.round()方法可设置舍入

NaN;  表示非数字

isNaN;  判断是不是数字,返回true/false

数字和字符串相加是字符串 1+2+'3'//返回 '33'

JSON数据

JSON.parse();  从一个字符串中解析出json对象(IE6/7需要官网下载js库解决兼容)

JSON.stringify();  从一个对象解析出字符串

eval();  把字符串转换成js代码并执行.该字符串符合JSON格式,并且可以被JSON.parse方法还原

 String对象

var str=""; var str= new String();

length属性,返回字符串长度

str.chatAt(index);   返回指定位置的字符

str.fromCharCode();   该方法的参数是一系列Unicode码点。返回对应字符串

str.charCodeAt(index);   返回指定位置字符的Unicode码点

str.concat(str2);   合并两个字符串组成新的字符串

str.slice(start,end );    截取字符串,不改变原字符串.第一个参数是开始位置,第二个参数是截取的结束位置不含该位置。如果参数是负数,表示从结尾处开始倒数计算位置。

str.substring(start,end);    用于从原字符串取出子字符串并返回,不改变原字符串,参数不接受负数。

str.substr();    字符串中抽取从 start 下标开始的指定数目的字符。参数指定的是子串的开始位置和长度,因此它可以替代 substring() 和 slice() 来使用。ECMAscript 没有对该方法进行标准化,因此反对使用它。

str.indexOf();   返回给定元素在字符串中最后一次出现的位置,如果没有出现则返回-1,可接受第二个参数表示搜索的开始位置

str.lastIndexOf();   返回给定元素在字符串中最后一次出现的位置,如果没有出现返回-1。从尾部开始检索

str.trim();   去除字符串两端的空格,返回新的字符串

str.toLowerCase();    用于将一个字符串全部转为小写,返回一个新字符串,不改变原字符串

str.toUpperCase();      全部转为小写

str.localeCompare(str2);    用于比较两个字符串。返回一个整数。

str.match(regexp);    检索字符串的值,是否匹配正则表达式。返回指定的值 

str.search();   只返回与第一个regexp相匹配的字符串的起始位置。从字符串开始位置检索

str.replace();   在字符串中一些字符替换另一些字符,或替换一个与正则表达式匹配的字符

str.split();   按照给定规则分割字符串,返回一个分割出来的子字符串组成的数组

toString();   将一个数值转为字符串形式。

toFixed();    用于将一个数转为指定位数的小数,返回这个小数对应的字符串

toExponential();    将一个数转为科学计数法形式

to Precision();   将一个数转为指定的有效数字

数组

var  arr=[]; var  arr= new Array()

属性:length;  数组长度

isArray(arr) ;   判断一个值是否为数组

arr.valueOf() ;    返回数组本身

arr.toString();    将数组转变字符串

arr.push();   在数组末端添加一个或多个元素,返回新数组长度

arr.pop() ;    删除数组最后一个元素,返回该元素

arr.join();   以参数作为分隔符将数组成员组成字符串返回,默认用逗号分割

arr.concat();   合并数组返回新数组

arr.shift();    删除数组第一个元素,返回该元素

arr.unshift();    在数组第一个位置添加元素,返回数组长度

arr.reverse();    颠倒数组中元素的顺序,返回改变后的数组

arr.slice();   截取数组中被选定的元素,返回选定元素,原数组不变

arr.splice();    从数组中添加,删除元素,返回被删除的元素,直接改变原数组

arr.sort();   对数组成员进行排序,改变原数组。只比较Unicode码,需要自己定义函数比较

arr.map();    对数组所有成员一次调用一个函数,根据函数结果返回新的数组

arr.forEach();   遍历数组的所有成员,执行操作,参数是一个函数,他接受三个参数,分别是当前位置的值,当前位置的编号和整个数组(IE9以下不支持)

arr.filter();    按照条件过滤数组,返回符合条件的元素组成的新数组(IE9以下不支持)

arr.some();    检测数组中的元素是否满足指定条件。(IE9以下不支持)

arr.every();    检测数组所有元素是否都符合指定条件。如果有一个不满足则返回false。剩余元素不在检测(IE9以下不支持)

arr.reduce();  一次处理数组的每一个成员,累计为一个值,从左往右。返回这个总值

arr.reduceRight();    一次处理数组每个成员,累计为一个值,从右往左

arr.indexOf();    返回给定元素在数组中第一次出现的位置,可以接收第二个参数表示搜索的起始位置

arr.lasrIdexOf();     返回给定元素在数组中最后一次出现的位置,如果没有出现返回-1

Object对象

var o={}  ;  var o = new Object();

o.prototype;     返回原型对象

Object.keys(o);     遍历对象的可枚举属性

Object.getOwnPropertyName(o);     遍历对象不可枚举的属性

o.valueOf();     返回当前对象对应的值

o.toString();     返回当前对象对应的字符串形式

o.toLocaleString();    返回当前对象对应的本地字符串形式

o.hasOwnProperty();    判断某个属性是否为当前对象自身的属性,还是继承自原型对象的属性

o.isPrototypeOf();     判断当前对象是否为另一个对象的原型

o.propertyIsEnumerable();     判断某个属性是否可枚举

 

posted @ 2017-03-14 18:50  xin9984  阅读(184)  评论(0编辑  收藏  举报