JavaScript基础学习笔记(2014.12.8)

来源:互联网 发布:厚学网网站源码 编辑:程序博客网 时间:2024/06/05 10:43

1、JavaScript是弱类型语言。在定义变量时不需要指定其类型。函数是一等对象,并且可以动态创建,因此你可以创建闭包。所有对象和类都是易变的,可以在运行时修改。可供使用的继承泛型有两种,即原型式继承和类式继承,他们各有其优缺点。 

  关于闭包:闭包是一个受到保护的变量空间,由内嵌函数生成。JavaScript具有函数级的作用域。这意味着定义在函数内部的变量在函数外部不能被访问。JavaScript的作用域又是词法性质的。这意味着函数运行在定义它的作用域中,而不是在调用它的作用域中。把这两个因素结合起来,就能通过把变量包裹在匿名函数中而对其加以保护。你可以这样创建类的私用变量:

 var baz;

(function(){

var foo = 10;

var bar = 2;

baz = function(){

return foo*bar;
};

})();

baz(); //baz can access foo and bar.even though it is executed outside of the anonymous function.

变量foo和bar定义在匿名函数中。因为函数baz定义在这个闭包中,所以它能够访问这两个变量,即使是在该闭包执行结束后。


2、在JavaScript中,一切都是对象(除了那三种原始数据类型。即便是这些类型,在必要的时候也会被自动包装为对象),而且所有对象都是易变的。这意味着你能使用一些在大多数别的语言中不允许的技术,例如为函数添加属性。


3、与对象的易变性相关的还有内省的概念。你可以在运行时检查对象所具有的属性和方法,还可以使用这种信息动态实例化类和执行其方法[这种技术称为反射],甚至不需要在开发时知道他们的名称。


0 0