概念
- js里的一个数据类型 是引用类型
- 是一种数据结构 用于将数据和功能组织在一起
对象==》属性和方法 属性就相当于对象内部的私有变量
创建对象的方法
- 构造函数
var obj = new Object()
// 给对象添加属性和方法:
obj.name = "roy"
obj.age = "20";
obj.play = function() {
console.log("添加方法")
}
console.log(obj.name)// roy
obj.play()
- 字面量
var obj = {}
// 给对象添加属性和方法:
obj.name = "roy"
obj.age = "20";
obj.play = function() {
console.log("添加方法")
}
console.log(obj.name)// roy
obj.play()
// 删除属性和方法
delete obj.age
用json格式表示对象:
JSON 是一种轻量级的数据存储格式! 是键值对的形式
json文件中规定属性和属性值必须放在引号里面。
- 比如:
var obj = {
name:"roy",
age:20,
play:function() {
console.log("方法")
}
}
- 注:当一个对象的属性是一个变量的情况下,添加属性:
obj[变量名称] = 值
var username = 'gao'
var obj = {
name:"roy"
}
obj[username] = "我是哈哈哈哈"
console.log(obj) // {name: "roy", gao: "我是哈哈哈哈"}
对象的遍历
for (var key in obj) {
}
var obj = {
name:"roy",
age:20,
play:function() {
console.log("方法")
}
}
for(var key in obj) {
console.log(obj[key])
}
ES5的严格模式:
在全局作用域下加一个 "use strict"
- 消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为
- 消除代码的一些不安全之处,保证代码运行的安全
- 提高编译器效率,增加运行效率
- 为未来新版的JavaScript做好铺垫
做了哪些限制:
- 声明变量必须用var
- 禁止删除window属性
- 函数this的指向不再指向window
- 函数内不允许参数重名
- 增加了保留字 :
mplements,interface,let,package,private,protected,public,static,yield