javascript面向对象_创建对象

  • object类型(对象类型)
    • 对象的创建
      • 创建一个对象,有两种方法,第一种叫做字面量,第二种是用new Object();
      • 字面量创建方式(代码)
var obj={
name: "123",
age:18,
sex:"男"
};
console.log(obj);//
console.log(obj.name); //123
console.log(typeof obj);// object

{}就是对象的界定符,就是对象的字面量。对象有属性,name,age,sex都是这个obj对象的属性(property)属性就是对象的特点。
对象 对象就是属性的无序集合。 我们可以通过点语法来获得一个对象的属性。
例如 obj.name

对象格式 (就是k-v对的集合)

{
k:v,
k:v,
k:v
}

注意的是json对象中,所有的k(键名)必须加引号,而对象字面量中的k不需要加引号。

JSON(JavaScript Object Notation) JS对象表示法。JSON是一个用于交换的格式,需要兼容后台语言,被后台语言所识别,所以必须加引号。

对象字面量的k(键名)必须加引号的情况,必须通过方括号来访问字面量

  • k是特殊字符
  • k是数字 obj[“123”]
  • k是有空格
  • k是关键字
  • 保留字
var obj={
    "name":"wdd",
    "age":18,
    "sex":"男""study score": 78
}
console.log(obj["study score"])//78
console.log(obj["a"+"ge"])// 18
var a="sex";
console.log(obj[a]);  // 男

  • new Object()
var obj=new Object();  //这是一个空对象,里面没有任何属性
obj.name="wdd";
obj.age=18;
obj.sex="男";
console.log(obj);
console.log(obj.age);
console.log(typeof obj);

new 是一个运算符,表示新创建一个对象。


对象的属性值可以是任何东西,比如字符串,布尔值,数字,函数。

var obj={
    a:1,
    b:"haha",
    c:true,
    d:/[A-Z]/g,
    e:function(){
        alert(1+2);
    },
    f:{
    p:1
    }
}

特别的,当对象的属性的值是一个函数的时候,我们称这个函数是对象的方法。


  • 对象的方法
var kay={
    name: "kay",
    age:18,
    sex:"男",
    sayHello: function(){
    alert("你好,我是"+this.name);
    alert("今年"+this.age+"岁了");
    alert("我是可爱的小"+this.sex+"生");
    }
}
//调用对象的方法
kay.sayHello();

方法函数里面的this指的是这个对象。


  • this指向的问题
//直接yong()调用函数,函数里面的this指的是window对象
function fun(){
alert(this);
}
//fun();  //object window

//函数绑定给了一个事件,那么事件发生的时候函数将执行,this就是触发事件的那个HTML对象
var box=document.getElementById("box");
box.onclick=fun;
//用定时器来调用函数,函数里面的this是window
setInterval(fun,1000);
//用对象打点(方法)来调用函数,函数里面的this指的是这个对象。
//用apply、call。 可以设置this对象。

  • 相似对象(了解一下)
发布了49 篇原创文章 · 获赞 3 · 访问量 5122

猜你喜欢

转载自blog.csdn.net/weixin_43487066/article/details/89812478