ES6对象方法
传统// // 传统表示 // let person = { // 'name':'zs', // 'say': function(){ // console.log('123') // } // } // person.say() var name = 'zs'; var age = 18; // let person = { // name : name, // age : age, // } // console.log(person)
ES6中的简写
var name = '李四'; var age = 18; var person1 = { name, age, say() { console.log('ES6') } }; console.log(person1); //{name: "李四", age: 18, say: ƒ}
属性名的更新 用字面量定义一个对象的时候,可以用表达式作为对象的属性名或者方法名。
var f = 'first'; var n = 'Name'; var s = 'say'; var h = 'Hello'; var person = { [f + n]: 'zhang', [s + h]() { return '你好吗' } }; console.log(person.firstName) //zhang console.log(person.sayHello()) //你好吗
Object.is()函数 比较两个值是否严格相等,或者说全等
// // Object.is 判断两个值是不是相等 相当于=== // var str = '12'; // var num = 12; // console.log(str == num) //true // console.log(str === num) //false // console.log(Object.is(str, num))//false
object.assign() 函数 将源对象的属性赋值到目标对象上。源对象可以是一个或者一个以上,而目标对象只有一个。
//Object.assign 相当于concat // let target = {'a':1} // let origin = {'b':2,'c':3} // Object.assign(target,origin); // console.log(target) //{'a':1,'b':2,'c':3}
Object.getPrototypeOf() 函数 获取一个对象的prototype属性。
function Person(){ } Person.prototype.name = 'zs' Person.prototype = { say(){ console.log('hello') } } let allen = new Person(); allen.say() console.log(Object.getPrototypeOf(allen) ) //{say: ƒ}
Object.setPrototypeOf() 函数 设置一个对象的prototype属性
//Object.setPrototypeOf() 设置原型属性 (接上) Object.setPrototypeOf(allen,{say(){console.log('hi')}}) allen.say()
Javascript中面向对象 将共用属性和方法写在函数的原型中
function Dog(name) { this.name = name; } Dog.prototype = { 'type': '动物', 'say': function () { console.log('名字叫' + this.name); } }; var dog = new Dog('旺财'); dog.say(); //名字叫旺财
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。