延迟脚本
1.将脚本文件放在/body标签之前
2.添加到window.load里
3.
<script src="url" defer="defer"></script>
这样可以在文档加载完成后加载脚本
undefined值是派生自null的
number类型中NaN(not a number)表示本来返回数字结果返回的不是数字
Object类型
construtor构造函数,用来保存当前对象的函数
arguments存放该函数的所有参数
sum(1,2)//3 sum(3,4,5)//12 function sum(){ var n=0; for(var i=0;i<arguments.length;i++){ n+=arguments[i]; } return n; }
检查传入参数中参数的类型和数量并做出不同的反应,可以模仿方法的重载(使用typeof操作符)
复制变量的值可以互不影响,复制对象他们都指向相同
js没有块级作用域:
for(var i=0;i<10;i++){ //do something... } alert(i);//10
在for语句结束后不会被销毁
Array对象
Array栈方法
push()添加到数组末尾,返回增加后的长度
pop()移除最后一项,返回移除的项
队列方法
shift()移除第一项,并返回它
与push()配合可以实现队列方法
sort()通过字符串排序,让sort()接受一个比较函数即可实现数字类型的排序
function compare(a,b){ if(a<b){ return -1; }else if(a<b){ return 1; }else{ return 0; } }var value=[12,3,6,1]; value.sort(compare); alert(value);//1,3,6,12
this属性
this引用的是函数执行时的环境对象,在全局作用域中调用时的this引用的是window
arguments保存该函数的所有参数
arguments.callee是一个指针,指向拥有这个arguments对象的函数
函数调用
window.name = "Ye";var o = { name = "Chation"; }function name(){ alert(this.name); } name.call(this)//Yename.call(o);//Chation
call用来扩展函数作用域
欢迎分享本文,转载请保留出处:前端ABC » 读《JavaScript高级程序设计》个人总结1