1.JavaScript由三部分组成:
- ECMAScript:提供核心语言功能
- 文本对象模型(DOM):提供访问和操作网页内容的方法和接口
- 浏览器对象模型(BOM):提供与浏览器交互的方法和接口
2.自定义构造函数创建对象
//自定义构造函数创建对象
//函数与构造函数的区别在于名字(首字母)是不是大写
function Person(name, age) {
this.name = name;
this.age = age;
this.sayHi = function () {
console.log("我叫" + this.name + ",年龄是:" + this.age);
}
}
var obj1 = new Person("小明", 10);
console.log(obj1.name);
console.log(obj1.age);
obj1.sayHi();
var obj2 = new Person("小芳", 18);
console.log(obj2.name);
console.log(obj2.age);
obj2.sayHi();
console.log(obj1 instanceof Person); //true
console.log(obj2 instanceof Person); //true
//自定义狗的构造函数
function Dog(name, age, sex) {
this.name = name;
this.age = age;
this.sex = sex;
}
var dog = new Dog("小黑", 10, "男");
console.log(dog instanceof Person) //false
console.log(dog instanceof Dog) //true
3.json对象以及json对象的遍历(for-in循环)
//遍历对象,是不能通过for循环遍历,无序
var json = {
"name": "Lee",
"age": "25",
"sex": "female"
};
var key = "height";
console.log(json[key]); //undefined
//只要用.(点)了之后,score属性就被创建了,只不过没有赋值
console.log(json.score) //undefined
//可以通过for-in循环
for (var key in json) {
//这里不能用.来拿值,用点会创建新的名为key的属性
// console.log(key+"---"+json.key);//这是不对的
console.log(key + "---" + json[key]);
/* 输出结果:
name---Lee
age---25
sex---female
*/
}
来源:https://www.cnblogs.com/muzidaitou/p/11280606.html