对象
例如:
var mrDeng = {
name : 'mrDeng',
age : 40,
sex : "male",
health : 100,
smoke : function () {
console.log('I am smoking!');
this.health --;
},
drink : function () {
console.log('I am drink');
this.health ++;
}
}
灰色的 undefined 是返回值,因为没有设置返回值,所以就是灰色的 undefined
1.属性的增、删、改、查
增,改:
例如:
删:必须借助 delete 属性
例如:
2.对象的创建方法
(1) var obj = {} 对象字面量/对象直接量 plainObject
(2)构造函数
1)系统自带的构造函数 Object()
new Object();Array();Number();Boolean();Date();
系统自带的构造函数 Object()可以批量生成对象,每一个对象都一样,但是彼此相互
独立。
在 Object()前面加个 new,变成 new Object()的执行,就会真正的返回一个对象,通
过 return 返回,拿变量接受。
var obj = new Object();和 var obj = {};这样写区别不大
例如:
var obj = new Object();
obj.name = "abc";
obj.sex = "male";
双引号和单引号都是表示的字符串,写双引号也可以写单引号,但是为了跟后端 php
配合最好写单引号。如果要打印一个单个的引号,用正则表达式转义字符
注意等号和冒号的用法 obj.say = function(){} var obj = { name : ‘abc’}
2)自定义
Object.create(原型)方法
例: function Person(){}
Person 是可以随便写的,也是构造函数
构造函数跟函数结构上没有任何区别
例 :var person1 = new person();
必须用 new 这个操作符,才能构造出对象
构造函数必须要按照大驼峰式命名规则,但凡是构造函数就要大写,例如 TheFirNa
例如:
function Car () {
this.name = "BMW";
this.height = "1400";
this.lang = "4900";
this.weight = 1000;
this.health = 100;
this.run = function () {
this.health --;
}
}
var car = new Car();
var car1 = new Car();
car1 和 car 是长得一样,但是是不同的两个 car。方法名和对象名尽量不一样
a 和 A 变量是两个变量,var car = new Car 里面 car 和 Car 是两个变量
例如:
function Car (color) {
this.color = color; //这里的 color 可以和上面的重复
this.name = "BMW";
this.height = "1400";
this.lang = "4900";
this.weight = 1000;
this.health = 100;
this.run = function () {
this.health --;
}
}
var car = new Car("red");
var car1 = new Car("baise");
car.name = "wulinghongguang";
car1.name = "zixingche"
通过参数,
使函数发生变化,变成自定义
例如:
function Student(name, age, sex){
this.name = name;
this.age = age;
this.sex = sex;
this.grade = 2017;
}
var student = new Student('zhangsao', 18, 'male');