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

舆情优化简述seo的优势

舆情优化,简述seo的优势,做网站首先必须切割图片吗,wordpress 中文标题 404ES6 引入了一种新的原始数据类型Symbol#xff0c;表示独一无二的值。它属于 JavaScript 语言的原生数据类型之一#xff0c;其他数据类型是#xff1a;undefined、null、布尔值#xff08;Boolean#xff09;、字符串#xff08;String#xff09;、数值#xff08;Nu…ES6 引入了一种新的原始数据类型Symbol表示独一无二的值。它属于 JavaScript 语言的原生数据类型之一其他数据类型是undefined、null、布尔值Boolean、字符串String、数值Number、大整数BigInt、对象Object。Symbol的作用是创建一个不可变且唯一的标识符可以用作对象属性的键。它可以用来解决属性名冲突的问题避免命名冲突。 概述 symbol 是一种基本数据类型。Symbol() 函数会返回 symbol 类型的值该类型具有静态属性和静态方法。它的静态属性会暴露几个内建的成员对象它的静态方法会暴露全局的 symbol 注册且类似于内建对象类但作为构造函数来说它并不完整因为它不支持语法new Symbol()。 Symbol的原理是通过调用Symbol函数来创建一个新的Symbol值。每个通过Symbol函数创建的值都是唯一且不可变的。 基本用法 1. 创建一个唯一的属性键 const sym Symbol(); const obj {[sym]: value }; console.log(obj[sym]); // value2. 使用描述符创建一个带有描述信息的Symbol值 const sym Symbol(description); console.log(sym); // Symbol(description)3. 使用全局注册表共享Symbol值 const sym1 Symbol.for(key); const sym2 Symbol.for(key); console.log(sym1 sym2); // true4. 获取已注册的全局Symbol键 const key Symbol.keyFor(sym1); console.log(key); // key5. 遍历对象中所有使用了Symbol作为键名的属性 const sym Symbol(); const obj {[sym]: value,foo: bar }; for (let key in obj) {console.log(key); // foo不会输出sym }6. 使用内置的Well-known Symbols来自定义对象行为 class MyObject {[Symbol.toStringTag]() {return MyObject;} } const obj new MyObject(); console.log(obj.toString()); // [object MyObject]7. 使用Symbol来定义类的私有属性 const _privateProperty Symbol(private); class MyClass {constructor() {this[_privateProperty] private value;}getPrivateProperty() {return this[_privateProperty];} } const myObj new MyClass(); console.log(myObj.getPrivateProperty()); // private value console.log(myObj[_privateProperty]); // undefined这些示例展示了Symbol的一些基本用法包括创建唯一的属性键、使用描述符创建Symbol值、使用全局注册表共享Symbol值、遍历对象属性、使用Well-known Symbols自定义对象行为以及定义类的私有属性等。这些用法可以帮助我们更好地理解和应用Symbol。 Symbol属性 当使用内置的Symbol属性时JavaScript引擎会根据这些属性的特定用途来执行相应的操作。下面是对每个示例的用法原理进行解释 1. Symbol.iterator 当使用for...of循环遍历一个对象时JavaScript引擎会查找该对象是否有一个Symbol.iterator方法。如果存在Symbol.iterator方法它应该返回一个迭代器对象该迭代器对象包含next方法。在每次迭代中for...of循环会调用迭代器对象的next方法并将返回的值赋给循环变量。 const obj {data: [a, b, c],[Symbol.iterator]() {let index 0return {next: () {if (index this.data.length) {return { value: this.data[index], done: false }} else {return { done: true }}}}} } for (let item of obj) {console.log(item) // a, b, c }2. Symbol.toStringTag 当调用对象的toString()方法时JavaScript引擎会检查该对象是否有一个Symbol.toStringTag属性。如果存在Symbol.toStringTag属性它应该是一个字符串值表示自定义的字符串标签。JavaScript引擎将使用这个标签来构造toString()方法返回的字符串。 const obj {[Symbol.toStringTag]: MyObject, }; console.log(obj.toString()); // [object MyObject] 3. Symbol.hasInstance 当使用instanceof操作符检查一个实例是否属于某个类时JavaScript引擎会查找这个类是否有一个静态方法[Symbol.hasInstance]。如果存在[Symbol.hasInstance]方法它应该接受一个参数并返回一个布尔值表示实例是否属于这个类。 class MyClass {static [Symbol.hasInstance](instance) {return Array.isArray(instance)} } console.log([] instanceof MyClass) // true console.log({} instanceof MyClass) // false 4. Symbol.species 当在派生类中调用Array原型上的方法如map、filter等创建新实例时JavaScript引擎会查找派生类是否有一个静态属性[Symbol.species]。如果存在[Symbol.species]属性它应该是一个构造函数用于创建新实例。JavaScript引擎将使用[Symbol.species]指定的构造函数来创建新实例而不是使用派生类本身的构造函数。 class MyArray extends Array {static get [Symbol.species]() {return Array} } const arr new MyArray(1, 2, 3) const newArr arr.map((x) x * 2) console.log(newArr instanceof MyArray) // false console.log(newArr instanceof Array) // true 5. Symbol.match、Symbol.replace、Symbol.search和Symbol.split 当调用字符串的match、replace、search和split方法时JavaScript引擎会查找传递给这些方法的参数是否有对应的Symbol属性。如果存在对应的Symbol属性它应该是一个方法用于自定义字符串的匹配、替换、搜索和分割逻辑。JavaScript引擎将调用这些自定义方法来执行相应的操作。 class MyMatcher {[Symbol.match](str) {return str.includes(hello);} } console.log(hello world.match(new MyMatcher())); // true 总结 Symbol是ES6中引入的一种新的原始数据类型用于创建唯一且不可变的标识符。它可以用作对象属性的键解决属性名冲突的问题。Symbol还可以用于全局注册表、遍历对象属性和使用内置的Well-known Symbols等场景。 使用内置的Symbol属性时JavaScript引擎会根据这些属性的特定用途来执行相应的操作。每个属性都有特定的行为规范通过实现这些规范我们可以自定义对象行为、扩展内置对象功能或实现特定功能。
http://www.pierceye.com/news/73523/

相关文章:

  • 网站内容优化方法深圳坪山区地图
  • 在家自己做网站网站网页设计的公司
  • 关键词优化除了做网站还有什么方法长沙市做网站
  • 大型网站建设方案常见问题dw网页制作素材+教程
  • 工信部网站备案号查询百度指数搜索热度排行
  • 公司网站建设费用的会计分录网站如何屏蔽中国ip
  • 网站建设计划建站快车品牌
  • 一般购物网站怎么做推广潭州学院wordpress
  • 肇庆有哪家做企业网站的网站后台用什么软件做
  • jsp网站开发网上订餐系统中恒建设职业技术培训学校网站
  • 浙江交工宏途交通建设有限公司网站6网络机房建设方案
  • 巩义便宜网站建设价格西安做网站的工资怎么样啊
  • 淘宝客网站做好了该怎么做简单的网站建立怎么做
  • 西固网站建设平台建筑企业资质
  • 广东网站制作多少钱深圳做网站设计公司
  • 兰州新区建设局网站地址手机排行榜zol
  • 温州专业微网站制作报价百讯科技网站建设
  • 建设银行乾县支行网站织梦 导航网站 模板
  • 帝国cms 网站地图标签品牌推广与传播方案
  • 巴彦淖尔专业做网站的公司网站建设银行转账
  • 企业网站建设服务商WordPress好看的博客主题有哪些
  • 淮南网站网站建设企业网站模板优化
  • 网站监测济源市城乡建设局网站
  • 网站推广合同模板wordpress快速评论
  • 工会网站群建设方案四川网站建设益友
  • 佛山建设网站制作家居装修公司排名
  • 用dw做网站的好处网站关键字如何选择
  • 手机免费建站app自学网站推荐
  • 网站分几个阶段建设流量分析
  • 重庆忠县网站建设报价网站建设用电脑