JS 面向对象编程:因为不能完整支持面向对象3大特性, 所以JS并不是面向对象的编程语言!
在JS对象里面没有封装概念! 因为不能完整支持面向对象3大特性, 所以JS并不是面向对象的编程语言!
如何创建JS对象
JSON语法声明对象(直接量声明对象)
var object= {};
使用 Object 创建对象
var object= new Object();
//JS对象可以后期添加属性 例子
var object_0= {};
object_0.name = "Tom";
var object_1= new Object();
object_1.name0 = "TOM";
object_1.name1 = "小明";
对象特点: new Object() 和 JSON 语法创建的对象时一样的! JSON语法更简洁方便, 相对容易使用一些 生成对象后可以随时添加属性 添加方式如下 [对象].[属性] = [属性值] 参考: object_1.name1 = "小明"; 当属性不存在时, 获取到的值是 undefined 在判断undefined的时候 可以类比 bool类型, 利用这个特点可以用于检测属性是否存在
if(!object.sex){
console.log('没有sex属性');
}
if(obj.name){
console.log('姓名:'+obj.name);
可以随时删除对象的属性
delete 对象.属性;
JS Object在本质是一个散列表!
为对象添加属性, 本质是添加了 key:value, key是属性名, value是属性值.
访问对象属性, 本质是get(key)
JS 对象如何添加方法
js对象添加的方法, 本质上也是一个属性, 是一个值是函数对象的属性!
var obj = ;
obj.name = "Tom";
obj.people= function(){
console.log(this.name);
调用people方法与访问people属性
obj.people();//调用方法 返回方法值 obj.people; 访问属性的值, 返回函数对象 可以像属性一样删除方法
delete obj.people 和属性一样,方法也是可以 修改的!
obj.people=function(){
console.log(this.name);
};
obj.people=function(){
console.log('Hello World!');
};
JS方法没有重载的概念!! 所以最近添加的会覆盖原有方法
obj.append= function(x, y){
return x+y;
}
obj.append= function(x, y, z){
return x+y+z;
}
使用JSON直接声明属性和方法
var obj = {
name:'Tom',
sex:'女',
:function(){
console.log(this.name);
}
};
//后期也可以扩展属性