首页 文章 精选 留言 我的

精选列表

搜索[javascript引擎],共10000篇文章
优秀的个人博客,低调大师

JavaScript Object类的静态方法

ES5 使用指定的原型及属性创建一个新对象 Object.create(prototype)Object.create(prototype,descriptors) 创建或配置指定对象的某个属性 Object.defineProperty(object,name,desc) 创建或配置指定对象的一个或多个属性 Object.defineProperties(object,descriptors) 将指定对象设置为不可改变 (冻结对象) Object.freeze(object) 查询指定对象的指定属性的特性 Object.getOwnPropertyDescriptor(object,name) 返回一个包含指定对象的所有非继承属性名的数组,包括不可枚举属性 Object.getOwnPropertyNames(object) 返回指定对象的原型 Object.getPrototypeOf(object) 检查当前对象是否含有某个非继承的属性 Object.hasOwnProperty(propertyname) 检查当前对象是否能添加新属性 Object.isExtensible(object) 检查当前对象是否已冻结 Object.isFrozen(object) 简单指定对象是否为封闭的 Object.isSealed(object) 返回一个包含指定对象的所有能非继承可枚举属性名的数组 Object.keys(object) 组织向指定对象添加新的属性 Object.preventExtensions(object) 检测某个属性是否在for/in循环中可见(是否可枚举) Object.propertyIsEnumerable(propertyname) 阻止向指定对象添加新的属性或删除现有属性 Object.seal(object) 定义一个对象的字符串表示形式 Object.toString(object) 定义一个对象的本地化的字符串表示形式 Object.toLocaleString(object) 给定对象的原始值 Object.valueOf(object)Object.setPrototypeOf(child, parent)Object.getOwnPropertySymbols(o)Object.entries() ES6新增 Object.assign()Object.is()

优秀的个人博客,低调大师

JavaScript 类数组转化为数组

很多情况下我们需要将类数组的对象(key是以0到n的数字或字符串,具有length属性。例如:Arguments对象)转化为一个数组来进行各种例如forEach的数组操作,在ES5中是利用类数组对象强制调用Array对象的slice方法来进行转换的,在ES6中Array扩展了from方法来进行转换,另外,ES6中的扩展运算符也可将某些类数组对象转化为数组各方法示例如下: 强制调用Array对象的slice方法 console.log(Array.prototype.slice.call({ '0': 'a', '1': 'b', '2': 'c', length: 3 })); //Array(3) [ "a", "b", "c" ] Array.from()方法 console.log(Array.from({ '0':'a', '1':'b', '2':'c', length:3 })); //Array(3) [ "a", "b", "c" ] 扩展运算符... console.log((function (a,b,c) { console.log([...arguments]); }("a","b","c"))); //Array(3) [ "a", "b", "c" ]

优秀的个人博客,低调大师

JavaScript 的Decorator 装饰器介绍

Angular大量使用了JS的装饰器特性,先看 ruanyifeng的介绍 使用babel转换 步骤 : npm install -g babel-cli npm init; npm install --save-dev babel-plugin-transform-decorators-legacy babel --plugins transform-decorators-legacy 1.js > 1.es5.js 例1 @eat class Person { constructor() {} } function eat(target, key, descriptor) { console.log('吃饭'); console.log(target); console.log(key); console.log(descriptor); target.prototype.act = '我要吃饭'; } const jack = new Person(); console.log(jack.act); 转换后 var _class; let Person = eat(_class = class Person { constructor() {} }) || _class; function eat(target, key, descriptor) { console.log('吃饭'); console.log(target); console.log(key); console.log(descriptor); target.prototype.act = '我要吃饭'; } const jack = new Person(); console.log(jack.act); // 吃饭 // [Function: Person] // undefined // undefined // 我要吃饭 例2 function mixins(...list) { return function (target) { Object.assign(target.prototype, ...list); }; } const Foo = { foo() { console.log('foo') } }; @mixins(Foo) class MyClass {} let obj = new MyClass(); obj.foo() // "foo" babel 后 var _dec, _class; function mixins(...list) { return function (target) { Object.assign(target.prototype, ...list); }; } const Foo = { foo() { console.log('foo'); } }; let MyClass = (_dec = mixins(Foo), _dec(_class = class MyClass {}) || _class); let obj = new MyClass(); obj.foo(); // "foo"

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册