大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
欢迎关注博主的网络课堂:http://edu.51cto.com/course/15019.html
创新互联主要从事成都网站设计、网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务漳平,十载网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575
在js中,属性可以动态添加,也可以动态删除
json的格式的表现形式
表现形式1
表现形式2
注意:value的取值可以是以下内容
对于以上的结构,那么json的变种就非常丰富
案例1:
var obj=["张三",15,true,
{
"fatherName":"张无忌",
"motherName":"无忌张",
children:["张飞","张亮","张靓颖"]
}
];
alert(typeof obj)
alert(obj[0]);
alert(obj[3]["children"])
案例2:
var obj3= {
"name":"zhangsan",
"age":15,
children:[
{
name:"张一",
age:1
},
{
name:"lisi",
age:10
},
{
name:"wangwu",
age:12
}
],
sayInfo:function(){
console.log(this.name,this.age);
}
};
obj3.sayInfo();
for(var i = 0 ;i
function createObject(name,age){
var obj = new Object();
obj.name = name ;
obj.age = age
obj.sayHello=sayHello;
return obj ;
}
var sayHello=function(){
console.log(this.name,this.age);
}
var obj1 = createObject("张三",12);
obj1.sayHello();
var obj2 = createObject("李四",20);
obj2.sayHello();
使用原型+构造函数方式来定义对象,对象之间的属性互不干扰,各个对象间共享同一个方法
优化上面的案例
function Parent(name,age) {
this.name= name ;
this.age = age ;
this.sayInfo = function(){
console.log(this.name,this.age) ;
}
}
function Son(name,age,addr) {
this.method=Parent;
this.method(name,age);
this.addr = addr ;
//将自定义的method方法删除掉
delete this.method;
this.sayInfo=function(){
console.log(this.name,this.age,this.addr) ;
}
}
function Parent(name,age) {
this.name = name ;
this.age = age ;
this.sayInfo=function(){
console.log(this.name,this.age);
};
}
function Son(name,age,addr) {
//call接受的离散的值,apply的参数为数组
//Parent.call(this,name,age);
Parent.apply(this,new Array(name,age));
this.addr = addr ;
this.sayInfo=function(){
console.log(this.name,this.age,this.addr);
}
}
var s = new Son("张三",15,"北京");
console.log(s)
s.sayInfo();