es5中的for in 与es6中的for of的用法与区别

for in 用与循环遍历对象中的属性键值

for of用于循环遍历出数组中的属性值

for in 也可以遍历数组,但是局限是他会把数组的其他属性键值也会遍历出,例如给数组添加一个属性arr.name = 'zhaokaikai';

for of也可以用于遍历对象但是需要 用Object.keys()将对象中key取出来

具体实现代码请自行百度,此处只提供自己方便记忆的思路,谢谢

转载于:https://www.cnblogs.com/Mrkaikai/p/9536615.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ES6,我们可以使用class关键字来定义一个类,同时也可以使用extends关键字来实现继承。下面是一个使用ES6语法定义和继承类的示例代码: ``` // 定义一个父类 class Animal { constructor(name) { this.name = name; } speak() { console.log(`${this.name} makes a noise.`); } } // 定义一个子类,继承自父类Animal class Dog extends Animal { constructor(name) { super(name); // 调用父类的constructor方法 } speak() { console.log(`${this.name} barks.`); } } const d = new Dog('Mitzie'); d.speak(); // 输出 "Mitzie barks." ``` 以上代码,Animal类是一个父类,其构造函数接受一个name参数,并定义了一个speak方法。而Dog类则继承自Animal类,并且覆盖了speak方法,以实现不同的行为。 如果你想把以上代码从ES5转换成ES6,可以使用一些工具,如Babel等,将其转换成ES6语法。例如,以下是使用ES5语法定义和继承类的示例代码: ``` // 定义一个父类 function Animal(name) { this.name = name; } Animal.prototype.speak = function() { console.log(this.name + ' makes a noise.'); }; // 定义一个子类,继承自父类Animal function Dog(name) { Animal.call(this, name); } Dog.prototype = Object.create(Animal.prototype); Dog.prototype.constructor = Dog; Dog.prototype.speak = function() { console.log(this.name + ' barks.'); }; var d = new Dog('Mitzie'); d.speak(); // 输出 "Mitzie barks." ``` 以上代码,Animal类是一个父类,其构造函数接受一个name参数,并通过原型链定义了一个speak方法。而Dog类则继承自Animal类,并使用Object.create()方法来创建一个新的对象,并将其原型设为Animal.prototype,以实现继承。同时,需要手动设置Dog.prototype.constructor属性,以确保其指向正确的构造函数。最后,覆盖原型上的speak方法以实现不同的行为。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值