1.2若类型语言:
javascript 3种元素类型:布尔值、数值型、字符串、
对象类型和可执行代码的函数类型
null、未定义类型。 javascript
原始数据类型按值传递,其余类型按引用传递
数据类型的转换 原始类型能够进行类型转换
1.toString 方法能够把数值、布尔型转换为字符串
二、parsefloat、parseInt函数能够把字符串转换为数值
3.双重“非”能够把字符串、数值转换成布尔值
var bool = !!num; java
1.3 函数是一等对象
函数是对象,
1.能够当初变量和参数传递给其余的函数
2.能够做为返回值从其余的函数传出
3.在运行时能够进行构造
4.能够用function(){---} 语法建立匿名函数
(functon(){
var foo = 10;
var bar =2
alert(foot*bat)l 编程
})(); 设计模式
5.匿名函数最用途是用来建立闭包。
闭包归纳:
1.是一个受到保护的变量空间,由内嵌函数生成。
2.函数级做用域,因此定义在函数的内部的变量外部不能访问,
javascript做用域 又是词法性质的, 意味着函数运行在她定义她的做用域中不是在用调用它的做用域中,两个结合起来,就能把变量包裹在函数中,而对其加以保护,用来建立(类的私有变量)
var test;
(function(){ 闭包
var foo =10;
var bar =2;
test = function(){ 函数
return foo*bar;
} this
})(); prototype
1.四、对象的易变性
1.能够为函数添加属性
function displayError(msg){
displayError.numtimes++;
}
2.能够为先前的你定义的类和实例化的地下进行修改
function person(name,age){
this.name = name;
this.age = age; 设计
} 对象
prson.protype = function(){
getName:function(){
return this.name;
}
}
person.prototype = function(){
getAge:function(){
return this.age
}
}
/**
* 建立对象
*/
var alicer = new Person ("alice",40)
var bill = new Person ("bill",30)
/**
* 修改类的方法
*/
person.prototype.getGreenting = function(){
return "HI"+this.getName();
}
3.内省的概念 和反射 有时间须要好好阅读一下。 这个概念不太理解
1.5 继承
1.javascript使用的是基于对象的原型式继承,用来模拟基于类的继承
小结:
使用的编程风格和选择的设计模式应该要与所要具体的工做相称。