一 创建对象
Object 构造函数
var person = new Object();
person.name = "Nicholas";
person.age = 29;
对象字面量
var person = {
name : "Nicholas",
age : 29
};
//或者
var person = {
"name" : "Nicholas",
"age" : 29,
};
访问对象属性
console.log("person["name"]");
console.log("person.name");
删除添加
person.sex = "male";
delete person.sex;
遍历
for(let key in person) {
// keys
console.log( key );
// values for the keys
console.log( user.key);
}
二 JSON
JSON.stringify()可以把一个 JavaScript 对象序列化为一个 JSON 字符串
JSON.parse()可以将JSON 字符串转化我JavaScript值
var book = {
title: "Professional JavaScript",
authors: [
"Nicholas C. Zakas"
],
edition: 3,
year: 2011
};
//JavaScript对象转化为json
var jsonText = JSON.stringify(book);
//json中的样式
{"title":"Professional JavaScript","authors":["Nicholas C. Zakas"],"edition":3,
"year":2011}
//json转化为JavaScript对象
var bookCopy = JSON.parse(jsonText)
//book 与 bookCopy 具有相同的属性,但它们是两个独立的、没有任何关系的对象
三 浏览器对象
-
window:window对象不但充当全局作用域,而且表示浏览器窗口
window对象有innerWidth和innerHeight属性,可以获取浏览器窗口的内部宽度和高度。内部宽高是指除去菜单栏、工具栏、边框等占位元素后,用于显示网页的净宽高 -
navigator:navigator对象表示浏览器的信息
navigator.appName:浏览器名称;
navigator.appVersion:浏览器版本;
navigator.language:浏览器设置的语言;
navigator.platform:操作系统类型;
navigator.userAgent:浏览器设定的User-Agent字符串。 -
screen:screen对象表示屏幕的信息
screen.width:屏幕宽度,以像素为单位;
screen.height:屏幕高度,以像素为单位;
screen.colorDepth:返回颜色位数,如8、16、24。 - location:location对象表示当前页面的URL信息
- document:document对象表示当前页面。由于HTML在浏览器中以DOM形式表示为树形结构,document对象就是整个DOM树的根节点
- history:history对象保存了浏览器的历史记录,JavaScript可以调用history对象的back()或forward (),相当于用户点击了浏览器的“后退”或“前进”按钮
四 call()apply()bind ()的区别
call()apply()相同:调用一个对象的一个方法,用另一个对象替换当前对象
区别:apply最多只能有两个参数——新this对象和一个数组argArray,call则可以传递多个参数,第一个参数和apply一样,是用来替换的对象,后边是参数列表。
//apply()方法
function.apply(thisObj,[参数数组]);
//call()方法
function.call(thisObj,参数1,参数2,参数3.....);
//bind()方法* 改变this指向的同时,返回一个函数,这个函数的this指向已经被改变,等需要的时候直接调用
const function2 = function1.bind(dog, 参数1,参数2,参数3.....)