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

网站 自适应js微博 wordpress

网站 自适应js,微博 wordpress,广州建设网站制作,个人做网站外包价格如何算ES6(ECMAScript 6)是JavaScript语言的最新版本,它在ES5的基础上做了很多增强和扩展#xff0c;使JavaScript的编程模式更加现代化和优雅,不仅拓展了语言表达能力,也为编程带来了全新的编程范式和思维方式。在项目中使用ES6,让代码更加简洁、方便模块化和面向对象实现等#x…ES6(ECMAScript 6)是JavaScript语言的最新版本,它在ES5的基础上做了很多增强和扩展使JavaScript的编程模式更加现代化和优雅,不仅拓展了语言表达能力,也为编程带来了全新的编程范式和思维方式。在项目中使用ES6,让代码更加简洁、方便模块化和面向对象实现等进而提高开发效率、减少代码量。 ES6 常用新特性如下 let/const箭头函数模板字符串解构赋值模块化类和继承默认参数rest参数扩展运算符Promise迭代器等SymbolIteratorGeneratorProxy 以下是一些ES6常见的知识点和示例代码 let和const let用于声明块级作用域变量const用于声明常量,常量必须初始化 let x 1; if (x 1) {let x 2; // 这个x只在If语句块内有效console.log(x); // 输出2 } console.log(x); // 输出1const PI 3.14159; PI 1; // 错误,PI是常量箭头函数 更简洁的函数书写方式继承当前上下文的this关键字 const add (a, b) a b;const obj {value: 1,getPlusValue: function(b) {return this.value b; // this绑定到obj},getPlusValueES6: (b) {return this.value b; // this继承外层上下文} }模板字符串 用反引号 标识可以当作普通字符串使用,也可以用来定义多行字符串,或者在字符串中嵌入变量/表达式 let name Bruce; console.log(Hello ${name}); // Hello Brucelet str This is a multi-line string; // 多行字符串解构赋值 可以从数组或对象中提取值,对变量进行赋值 let arr [1, 2, 3]; let [a, b, c] arr; console.log(a, b, c); // 1 2 3let obj {name: Bruce, age: 30}; let {name, age} obj; console.log(name, age); // Bruce 30模块导入导出 使用 export 导出模块中的变量、函数或类使用 import 导入其他模块中的部分或全部 // module.js export const name Bruce; export function sayHi() {console.log(Hi); }// app.js import { name, sayHi } from ./module.js; console.log(name); // Bruce sayHi(); // Hi类和继承 使用 class 关键字定义类使用 extends 关键字实现继承支持静态方法和构造器 class Animal {constructor(name) {this.name name;}sayName() {console.log(My name is ${this.name});} }class Dog extends Animal {constructor(name) {super(name); // 调用父类构造函数}bark() {console.log(Woof Woof!);} }let dog new Dog(Buddy); dog.sayName(); // My name is Buddy dog.bark(); // Woof Woof!默认参数值 在定义函数时可以为参数设置默认值 function say(messageHi) {console.log(message); }say(); // Hi say(Hello); // Hellorest参数 用于获取函数的实参,存入数组中 function add(...nums) {let sum 0;for(let n of nums) {sum n;}return sum; }console.log(add(1,2,3)); // 6 console.log(add(4,5,6,7,8,9)); // 39spread操作符 可以在函数调用/数组构造时将数组表达式展开 let params [3,5,1]; console.log(Math.max(...params)); // 5 console.log([...hello]); // [h,e,l,l,o]对象字面量扩展 可以直接在对象中添加函数属性名可以是变量/表达式可通过扩展运算符复制对象的可枚举属性 let obj {name: Bruce,sayName() {console.log(this.name);},[Symbol.iterator]: function() {// ...} }let obj2 { ...obj, age: 30 }; // 复制obj所有可枚举属性到obj2Promise 异步编程的一种解决方案代表一个异步操作的最终结果 let promise new Promise(function(resolve, reject) {setTimeout(function() {resolve(Hello World);}, 2000); });promise.then(function(value) {console.log(value); // Hello World });for…of循环 可以遍历各种可迭代对象(Array、Map、Set等) let arr [a, b, c]; for(let x of arr) {console.log(x); // 依次输出a, b, c }Map和Set Map是存储key-value对的有序集合Set是不重复值的有序集合 let map new Map(); map.set(name, Bruce); map.set(age, 30); console.log(map.get(name)); // Brucelet set new Set(); set.add(1); set.add(5); set.add(5); // 重复的5会被忽略 console.log(set.size); // 2好的,我继续介绍一些ES6其他常见的知识点: Symbol 一种新的原始数据类型,可作为对象属性的标识符每个Symbol值都是不相等的 let symbol1 Symbol(id); let symbol2 Symbol(id); console.log(symbol1 symbol2); // falselet obj {}; obj[symbol1] Hello; console.log(obj[symbol1]); // Hello迭代器Iterator 为各种数据结构提供统一的访问接口支持对象实现Iterator接口,从而可以用for…of遍历 let arr [a, b, c]; let iter arr[Symbol.iterator]();console.log(iter.next()); // { value: a, done: false } console.log(iter.next()); // { value: b, done: false } console.log(iter.next()); // { value: c, done: false } console.log(iter.next()); // { value: undefined, done: true }生成器Generator 可以暂停执行的函数通过yield关键字交还控制权配合Iterator可实现惰性运算 function* idGen() {let id 0;while(true) {yield id;} }let gen idGen(); console.log(gen.next().value); // 0 console.log(gen.next().value); // 1代理Proxy 用于修改某些操作的默认行为等同于在语言层面做出修改,可以对编程语言进行拓展 let obj { name: Bruce }; let proxy new Proxy(obj, {get(target, prop) {console.log(Reading ${prop});return target[prop];},set(target, prop, value) {console.log(Setting ${prop} to ${value});target[prop] value;} });proxy.name; // Reading name, Bruce proxy.name Clark; // Setting name to Clark反射Reflection 将对象内部特征反射于外部可操作,与Proxy形成映射ES6新增Reflect对象与Proxy相呼应 Reflect.getPrototypeOf({}) Object.getPrototypeOf({}); Reflect.get(obj, name) obj.name;
http://www.w-s-a.com/news/905337/

相关文章:

  • wap网站建设设计wordpress首页名称
  • wordpress网站换空间南宁网站设计可以找我
  • 期货贵金属网站建设招远网站建设哪家专业
  • 上海网站排名个人网站可以做百度推广
  • 网站主题及样式优化个人网站 可以做论坛吗
  • 中企动力 网站推广一级域名免费申请
  • 山东专业的网站建设博罗做网站哪家强
  • 手机网站支持微信支付吗宝塔如何添加ip域名做网站
  • 什么专业学网站建设企业合同管理系统
  • 我要啦免费统计怎么做网站销售订单管理系统软件
  • 门户网站建设教程更改wordpress端口
  • 普兰店网站建设公司云计算培训
  • 网站建设的网络技术app下载平台哪个好
  • 中国建筑人才网是什么网站导购网站制作
  • 网站建设开票东莞龙岗网站建设
  • 17网站一起做网批最近湘潭的新闻
  • 专业网站设计专业服务网站news怎么做
  • 杭州租房网站建设设计网站架构
  • 安徽做网站公司哪家好建设网站需要什么内容
  • 哪些网络公司可以做机票预订网站网站新闻后台怎么做
  • 微网站 域名企业网站怎么做推广
  • 兴安盟住房和城乡建设部网站在国外做网站
  • 南雄市建设局网站搜索关键词的方法
  • 网站建设维护工作经验深圳定制展会
  • 新闻类网站备案WordPress评论昵称显示错误
  • 如何建立一个个人网站自己做一个购物网站
  • 吴忠网站建设公司中国建筑股份有限公司 官网
  • 深圳电商网站开发公司page list wordpress
  • 长安外贸网站建设顺德区网站设计建设企业
  • 临沂市建设局网站简介专业建设网站开发