对象
属性的增、删、改、查
对象的创建方法
-
plainObject
对象字面量 / 对象直接量
var obj = {
// - 属性 :值
}
- 构造函数
1). 系统自带的构造函数Object()、Array()、Number()
var obj = new Object();
obj.name = "Tom";
obj.sex = "male";
obj.say = function(){
// -
}
···
2). 自定义
// - 大驼峰式命名规则,首字母大写
function Person() {
name : "Tom",
sex : "male",
say: function(){
//-
}
}
var person1 = new Person();
console.log(person1.sex) // male
构造函数内部原理
- 在函数体最前面隐式的加上
this = {}
; - 执行
this.xxx = xxx
; - 隐式的返回
this
function Person() {
//var this = {
name : "Tom",
sex : "male",
say: function(){
//-
}
//}
//return this
}
如果new
,构造函数中return
不能返回基础数据类型。
包装类
原始值不会有属性和方法
var str = "abcd";
str.length = 2;
console.log(str) // "abcd"
console.log(str.length) // 4 执行的时候相当于是new String(str).length
var str = "abc";
str += 1; // "abc1"
var test = typeof(str); //"String"
if(test.length == 6) {
test.sign = "abc"; //原始值没有属性和方法,所以不能写属性
}
console.log(test.sign); // undefined
网友评论