原型和原型链
对象
什么是对象?
JavaScript中万物皆为对象
原始数据类型 严格上来说它属于对象,但是没有对象的特点(添加属性的特点)
引用数据类型 有对象的特点
包装类 把原始类型进行一个包装,包装成一个引用类型,就有了引用类型的特性了
面试题:
// var str ="hello world";
var str = new String("hello world"); // 这个就一定是一个引用型
if(str.length == 11){
str.abc = "字符串的长度为11";// 原始类型添加了属性就马上销毁
}
console.log(str.abc)
对象的创建方式: 4种
1.{} 对象字面量(对象直接量) 常用
var obj = {
name:
}
2.new 构造函数
2.1.new Object() new 系统构造函数 new出来以后是一个空对象,少用
var obj = new Object();
2.2new 自定义构造函数 常用
function Fun(name,age){
// var this = {}
this.name = name;
this.age = age;
// return this// 只能返回一个引用类型的值,如果改成原始类型的值,是没有任何改变的
}
var f = new Fun("bviu",21);
console.log(f);
4.Object.create() //ES5中新增的 以什么为原型创建对象
var obj = {
name : "jack",
age : 18
}
var obj1 = Object.create(obj);
console.log(obj1)
console.log(obj1.name)
() 函数执行符号
构造函数也属于函数
构造函数就是专门去出对象,构造函数
人为规范(开发者制定出的一套开发习惯):
1.构造函数只能被new执行
2.写法: 构造函数必须使用大驼峰命名(首字母大写)
浙公网安备 33010602011771号