1.2若类型语言:
javascript 3种元素类型:布尔值、数值型、字符串、
对象类型和可执行代码的函数类型
null、未定义类型。
原始数据类型按值传递,其他类型按引用传递
数据类型的转换 原始类型可以进行类型转换
1.toString 方法可以把数值、布尔型转换为字符串
2、parsefloat、parseInt函数可以把字符串转换为数值
3.双重“非”可以把字符串、数值转换成布尔值
var bool = !!num;
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;
}
})();
1.4、对象的易变性
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使用的是基于对象的原型式继承,用来模拟基于类的继承
小结:
使用的编程风格和选择的设计模式应该要与所要具体的工作相称。