web前端 -- Day14 js基础
2019-03-07 本文已影响0人
韩发发吖
编程思想
1、面向过程:凡事亲力亲为,多有的事情的过程都清楚,注重的是过程。
2、面向对象:提出需求,找到对象,对象解决这个问题,我们要结果,注重的是结果。
面向对象的特性:封装、继承、多态、(抽象性)
创建对象的方式
1、调用系统的构造函数创建对象 new Object();
2、自定义构造函数创建对象
var obj2 = new 自布定义构造函数();
3、字面量的方式创建对象
var obj3 = {};
变量 instanceof 对象 --> 尔类型,判断这个变量是不是这个类型的
// 1、调用系统的构造函数创建对象
// 实例化对象
var obj = new Object();
// 对象有特征 --- 属性和行为 --- 方法
// 添加属性 --- 如何添加属性? 对象.名字 = 值
obj.name = "萌萌哒";
obj.age = 5;
obj.sex = "男";
// 添加方法 --- 如何添加方法? 对象.名字 = 函数
obj.eat = function() {
console.log("吃吃喝喝");
};
obj.play = function() {
console.log("一起来一局王者荣耀吖!!!");
};
console.log(obj.name,obj.age,obj.sex);
obj.eat();
obj.play();
// 2、自定义构造函数创建对象
//var obj2 = new 自定义构造函数();
// 函数与构造函数的区别:名字是不是大写(首字母大写)
/*
1、在内存中开辟空间,存储创建新的对象
2、把this设置为当前的对象
3、设置对象的属性和方法的值
4、把this这个对象返回
*/
function Person(name,age){
this.name = name;
this.age = age;
this.sayHello = function () {
console.log("构造函数")
}
}
// 创建对象
var persons = new Person("萌嘟嘟",5);
console.log(persons.name);
//3、字面量的方式创建对象(字面量的方式创建对象缺陷:一次性的对象)
// 空对象
var obj3 = {}
//添加属性
obj3.name = "嘟嘟"
obj3.age = 4;
// 添加方法
obj3.sayHi = function () {
console.log(this.name + this.age + "阿尼哈赛哟");
}
obj3.sayHi();
// 优化后的写法
var object1 = {
name:'萌萌哒',
age:18,
sayHallo:function(){
console.log("字面量的方式创建对象");
},
eat:function(){
console.log("我是"+this.name);
}
}
console.log(object1.name);
JSON格式
JSON格式的数据,都是键值对,成对的数据。json的数据实际上就是格式化之后的一组字符串的数据
var json = {
name:"萌萌"
}
对象设置属性的值的写法
对象.属性名字 = 值; --- 点语法
对象["属性名字"] = 值;
对象获取属性的值的写法:
1、对象.属性名字
2、对象["属性名字"]
// 遍历对象
// key -- 是一个变量中存储的是遍历的对象的属性
for(var key in 对象) {
}