精通javascript笔记(1)
javascript是面向对象的,javascript中的一切都是对象。
变量的类型检测:变量的构造函数最合适。
作用域:
在js里,作用域是由函数划分的,而不是代码块(block)划分的(比如while,if和for语句中间。)
所有属于全局作用域的变量都是window对象的属性(property)。
例如
//一个全局作用域下的变量,存储了字符'test' var test = 'test'; //你可以发现我们的全局变量和window对象的test属性是一致的 alert(window.test=test);
如果变量没有显示定义,他就是全局的.
闭包:(功能太复杂,暂时搞不清)
闭包意味着内层的函数可以引用存在于包围他的函数内的变量,即使外层函数执行已经终止。
上下文对象:
上下文对象是通过this变量体现的,这个变量永远指向当前代码所处的对象中。javascript提供了call和apply实现这个功能。
//一个设置上下文对象颜色样式的简单函数 function changeColor( color ){ this.style.color=color; } //在window对象调用此函数会失败,因为window对象没有style属性 changeColor("white"); //找出id为mian的文档 var main = document.getElementById("main"); //使用call方法将它的颜色置为黑色。call方法将上下文对象设置为第一个参数 //并将其他参数做为原函数的参数 changeColor.call(main,"black"); //设置body元素颜色的函数 function setBodyColor(){ //apply方法将上下文对象设置为第一个参数指定的body元素,第2个参数是传给函数的所有参数的数组 changColor.apply(document.body,arguments); } //将body的颜色设置为黑色 setBodyColor("black");
对象:
代码说明一切.
上下文相关的方法和属性
1,公共方法
2,私有方法
3,特权方法
4,静态方法