当前位置: 首页 > news >正文

河南省住房城乡建设厅搜索引擎优化分析

河南省住房城乡建设厅,搜索引擎优化分析,win7 asp网站发布,做网站公司赚钱吗在 JavaScript 中,使用 Object.create(null) 和 {} 创建的对象有以下核心区别: 1. 原型链的差异 创建方式原型链([[Prototype]])继承关系const obj {}继承自 Object.prototype拥有 Object 的原型方法const obj Object.create(n…

在 JavaScript 中,使用 Object.create(null){} 创建的对象有以下核心区别:


1. 原型链的差异

创建方式原型链([[Prototype]]继承关系
const obj = {}继承自 Object.prototype拥有 Object 的原型方法
const obj = Object.create(null)原型链为 null无任何继承
示例代码
const objLiteral = {}; 
const objNullProto = Object.create(null);console.log(objLiteral.toString); // ƒ toString() { [native code] }
console.log(objNullProto.toString); // undefined(无原型链)

2. 内置方法的存在性

  • {} 创建的对象
    继承 Object.prototype 的方法,如 toStringhasOwnPropertyvalueOf 等。

    const obj = {};
    console.log("toString" in obj); // true(来自原型链)
    
  • Object.create(null) 创建的对象
    完全纯净,不包含任何继承方法。

    const obj = Object.create(null);
    console.log("toString" in obj); // false
    

3. 适用场景

使用 {} 的场景
  • 需要利用 Object 的原型方法(如 obj.hasOwnProperty())。
  • 需要与其他代码或库交互,依赖对象的标准行为。
  • 快速创建普通对象,无需特殊处理原型链。
使用 Object.create(null) 的场景
  • 作为纯字典(键值对)
    避免原型链属性污染(如 toStringconstructor 等可能被误覆盖)。

    const dict = Object.create(null);
    dict.key = "value";
    console.log("toString" in dict); // false(不会被意外覆盖)
    
  • 性能优化
    无原型链的对象在某些引擎中访问速度更快(极少情况需实测验证)。

  • 特殊用途
    实现更安全的属性存储(如 JSON.stringify(obj) 时不会包含原型链上的属性)。


4. 其他差异

特性{}Object.create(null)
instanceof Objecttruefalse(无 Object 原型链)
属性枚举可能包含原型链属性(需用 hasOwnProperty 过滤)仅自身属性
内存占用稍高(包含原型链引用)更低(无原型链)

示例对比

// 使用 {} 创建的对象
const obj1 = {};
console.log(obj1.constructor); // ƒ Object() { [native code] }(来自原型链)// 使用 Object.create(null) 创建的对象
const obj2 = Object.create(null);
console.log(obj2.constructor); // undefined// 安全存储键值对
const safeDict = Object.create(null);
safeDict.toString = "自定义值"; // 无需担心覆盖原型方法
console.log(safeDict.toString); // "自定义值"(而非方法)

总结

  • {}
    适合大多数场景,拥有标准对象的行为和原型方法,方便与其他代码交互。

  • Object.create(null)
    适合需要完全纯净、无原型干扰的场景(如字典、低耦合数据存储),但需手动实现原型方法(如 hasOwnProperty 的替代方案)。

http://www.lryc.cn/news/616508.html

相关文章:

  • 用java怎么做购物网站营销技巧五步推销法
  • 制作公司主页网站百度关键词推广公司
  • php7 wordpress梅州seo
  • 肥城网站建设费用百度霸屏推广一般多少钱
  • 东莞清溪网站建设关键词分为哪三类
  • 日本做a的小视频在线观看网站2345浏览器网址
  • 天津网站建设学习百度贴吧官网入口
  • 北京网站建设降龙网络福建seo
  • 重庆潼南网站建设平谷头条新闻
  • 移动网站开发服务海外社交媒体营销
  • 做网站需要租服务器吗平台推广引流
  • 2017网站开发工程师网站制作免费
  • 专业网站定制设计公司网站软件下载app
  • 做网站一年赚80亿网站百度不收录
  • 网站建设服务商城网站权重划分
  • wordpress 文章 数据库seo推广代运营
  • 公司官网用什么建站程序百度推广登录后台登录入口
  • 越影网站建设seo推广怎么做
  • 哪些网站做夜场女孩多手机百度下载安装
  • 家具定制东莞网站建设站长工具域名解析
  • 韶关微网站建设石家庄今天最新新闻头条
  • 网站建设公司服务公司seo石家庄
  • 连云港网站优化公司3000块钱在朋友圈投放广告
  • 网站开发学习案例资源平台
  • 泉州网站建设服务企业网站制作流程
  • 企业网站优化怎么做网站怎么建设
  • 美工网站做兼职广东省各城市疫情搜索高峰进度
  • 北京南站到北京站怎么走盘搜搜
  • 做建筑设计网站seo和sem的区别
  • 开源免费cms徐州百度快照优化