JS ES6补充】的更多相关文章

补充点:1.let const 2.字符串模板 3.箭头函数  4.对象的单体模式 5.面向对象 一.定义变量 A.var 特点: 1.定义全局变量 2.可以重复定义 3.变量名提升 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=d…
区别 object和Map存储的都是键值对组合.但是: object的键的类型是 字符串: map的键的类型是 可以是任意类型: 另外注意,object获取键值使用Object.keys(返回数组): Map获取键值使用 map变量.keys() (返回迭代器). 示例代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>js es6 map 与 原…
js 对象 普通对象与对象简写 js 没有字典类型,只有对象类型,对象可以完全替代字典来使用 js 中对象的属性名,都采用字符串类型,所以就可以省略字符串的引号标识 对象中属性值为函数时,称之为方法,方法建议简写: 方法名(){} 如果对象的属性值是一个变量,且变量名与属性名相同,还可以简写:{属性,} var dic_obj = { // 属性:值(数值,函数) 'name': 'Santa', 'eat': function () { console.log('在吃饭') } }; cons…
1. 以前,js多行字符串用\n写起来比较费事,所以最新的ES6标准新增了一种多行字符串的表示方法,用` ... `表示: 旧版写法 alert("你好,\n 我叫\n Olive"); 新版写法 alert(`你好 我叫 olive`);//注意这里的两个点是键盘上数字键1左边的按键,而不是单引号哦 2. 以前,把多个字符串连接起来,可以用+号连接 var name ="olive"; var age= 26; var message='hello,my name…
这篇文章主要介绍了ES6学习笔记之Set和Map数据结构,结合实例形式详细分析了ECMAScript中基本数据结构Set和Map的常用属性与方法的功能.用法及相关注意事项,需要的朋友可以参考下   本文实例讲述了ES6学习笔记之Set和Map数据结构.分享给大家供大家参考,具体如下: 一.Set ES6提供了新的数据结构Set.类似于数组,只不过其成员值都是唯一的,没有重复的值. Set本身是一个构造函数,用来生成Set数据结构. 1 . Set函数可以接受一个数组(或类似数组的对象)作为参数,…
1. 程序异常 ① try-catch语法    测试异常 try-catch语法代码如下: try { 异常代码;     try中可以承重异常代码, console.log(“try”)  出现异常代码后,正确代码不会执行 } catch (e) { console.log(“e:”+e);  try中出现异常在e中展现出来 console.log(“catch”);  只有try中出现异常才执行这段代码 } finally { console.log( 1 );  无论try中有无异常,都…
第二次面试 HTML HTML5中的新标签,举例一下 canvas绘画,本地离线存储localStorage,sessionStorage,video和audio元素,语义化元素,表单类型(date,time,email等),地理定位等 CSS CSS3新的标签 边框:圆角border-radius,阴影box-shadow,边框图片border-image 背景:背景定位区域background-origin,背景大小支持百分比background-size 文字效果:文字阴影text-sha…
js定义函数: <script> function A() {} let a1 = new A(); let a2 = new A(); // 为A类添加原型 => 类似于类属性 A.prototype.num = 100; console.log(a1.num); console.log(a2.num); </script> ES6语法下类 class B { constructor(name) { this.name = name; } } let b1 = new B(…
ES6学习笔记(2019.7.29) 目录 ES6学习笔记(2019.7.29) let和const let let 基本用法 let 不存在变量提升 暂时性死区 不允许重复声明 块级作用域 级作用域 ES6的块级作用域 块级作用域与函数声明 const 基本用法 本质 顶层对象 解构赋值 数组的解构 基本用法 默认值 对象的解构 基本用法 默认值 注意点 字符串的解构 数值布尔值的解构 函数参数的解构 圆括号问题 不能使用圆括号的情况 可以使用圆括号的情况 用途 for.for in.for…
元素事件:鼠标按下事件/鼠标移动事件/鼠标松开事件 元素样式:让元素脱离文档流,采用绝对定位的方式. 一.鼠标按下事件 当鼠标在元素上面按下时,保存元素的初始偏移量和鼠标按下时的坐标,然后在状态变量里面标记当前状态为按下状态. 二.鼠标移动事件 当鼠标拖动元素移动时,我们通过计算鼠标从起始位到移动位之间的偏移量来求元素应该移动的距离. 元素移动距离= 初始坐标 + (鼠标拖动坐标 - 鼠标按下坐标 ) 三.鼠标松开事件 当鼠标松开后,我们把状态变量重置为假,表示当前拖动结束. HTML代码: <…
转载这篇ES6的箭头函数方便自己查阅. ES6可以使用“箭头”(=>)定义函数,注意是函数,不要使用这种方式定义类(构造器). 一.语法 基础语法 (参数1, 参数2, …, 参数N) => { 函数声明 } (参数1, 参数2, …, 参数N) => 表达式(单一) //相当于:(参数1, 参数2, …, 参数N) =>{ return 表达式; } // 当只有一个参数时,圆括号是可选的: (单一参数) => {函数声明} 单一参数 => {函数声明} // 没有参…
s的方法 根据index取value: 取首尾项,arr[0], arr[arr.length-1] 根据value取index(判断是否包含子字符串): s.indexOf 栗子: 'maotai'.indexOf('mao'), 如果不包含则返回-1,如果包含返回子字符串下标 取切片 s.substr(1,3) //含3 s.substring(1,3)//不含3 和arr之间的转换: s.split: s转为arr s = 'maotai|maomao' s.split('|') // […
js修改readonly属性 我们看到这里日期框标签中有readonly属性,如果我们直接send_keys就无法输入内容,这时我们需要先去掉readonly属性: js ='document.getElementById("train_start_date").removeAttribute("readonly")'driver.execute_script(js) 然后可能需要清空一下文本框,然后用send_keys填入我们想填的内容即可,或者继续用js写入:…
1.ES6新增了块级作用域的let和const 这新特性let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效. for循环的计数器,就很合适使用let命令. 下面的代码如果使用var,最后输出的是10. var a = []; for (var i = 0; i < 10; i++) { a[i] = function () { console.log(i); }; } a[6](); 上面代码中,变量i是var声明的,在全局范围内都有效.所以每一次…
将对象冻结,使用Object.freeze方法 const foo = Object.freeze({}); // 常规模式时,下面一行不起作用: // 严格模式时,该行会报错 foo.prop = 123; var t = { a:{ t:2 } } //冻结t对象下属性a Object.freeze(t) t.a.t = 3 //不能冻结属性a下的值obj中的对象 console.log(t.a.t) 除了将对象本身冻结,对象的属性也应该冻结.下面是一个将对象彻底冻结的函数. var con…
1.Export 模块是独立的文件,该文件内部的所有的变量外部都无法获取.如果希望获取某个变量,必须通过export输出, // profile.js export var firstName = 'Michael'; export var lastName = 'Jackson'; export var year = 1958; 或者用更好的方式:用大括号指定要输出的一组变量 // profile.js var firstName = 'Michael'; var lastName = 'Ja…
变量 let 块级作用域内有效 不能重复声明 不会预处理,不存在提升 var btns = document.getElementsByTagName('button'); for (let i = 0; i < btns.length; i++) { var btn = btns[i]; btn.onclick = function(){ alert(i) } } // for (var i = 0; i < btns.length; i++) { // var btn = btns[i];…
功能列表:1. 增加下载SVG转PNG功能,图片尺寸超出可视区域也能够下载全部显示出来2. 增加图谱放大缩小平移功能3. 增加图谱初始化加载时自动缩放功能4. 增加导出excel功能,配合后台工具类达到导入excel的功能5. 增加右键菜单功能(删除,编辑)6. 增加拖拽添加连线功能7. 增加鼠标点击画布增加节点功能,支持批量添加并取消连续点击连续添加的功能8. 增加右键删除节点和左侧工具栏删除节点功能9. 增加环形布局10. 增加矩形布局 在此大神的代码基础上,进行了修改,源代码地址::htt…
前言 generotor 和 普通函数的不同在于function 的时候加了一个*, 是的,我们看到es5的一个陌生关键字,yield,这个是不寻常的,为什么这么说呢? 这个在c#中,很常见的一个关键字,下面就来解释一下js中的. 正文 function* gen() { yield "1"; yield "2" } var iterator = gen(); console.log(iterator); console.log(iterator.next());…
1.codePointAt方法是测试一个字符由两个字节还是由四个字节组成的最简单方法. function is32Bit(c) { return c.codePointAt(0) > 0xFFFF; } is32Bit("…
今天在网上参观到一个写法,返回字符串个个字母的个数 var arr='aaabbccaa'; var info = arr.split('').reduce((p, k) => (p[k]++ || (p[k] = 1), p), {}); console.log(info); 得到:Object {a: 5, b: 2, c: 2} reduce是es5新加了array函数,这里不细说,有兴趣自己查: 关键是‘=>’,是我第一次在js中见到:在网上查了查没找到什么资料,自己理解吧,希望有大神…
变量的结构赋值用户很多 1.交换变量的值 let x = 1; let y = 2; [x,y] = [y,x] 上面的代码交换变量x和变量y的值,这样的写法不仅简洁,易读,语义非常清晰 2.从函数返回多个值 函数只能返回一个值,如果要返回多个值,只能讲他们放在数组或者对象里返回.了解解构赋值,取值这些值非常方便 //返回一个数组 function example(){ return [1,2,3]; } let [a,b,c] = example();[a,b,c]; //[1,2,3] //…
觉得不错的麻烦加个Star:https://github.com/zhangzn3/D3-Es6 在线预览地址:https://zhangzn3.github.io/D3-Es6 功能列表:1. 增加下载SVG转PNG功能,图片尺寸超出可视区域也能够下载全部显示出来2. 增加图谱放大缩小平移功能3. 增加图谱初始化加载时自动缩放功能4. 增加导出excel功能5. 增加右键菜单功能6. 增加拖拽添加连线功能7. 增加鼠标点击画布增加节点功能8. 增加右键删除节点和左侧工具栏删除节点功能9. 增加…
// 利用set.reduce.filter去重 // Set function getSetArr(arr) { return [...new Set(arr)] } console.log(getSetArr([1, 2, 3, 1, 3])) // [1, 2, 3] // reduce function getRedArr(arr) { let arr1 = arr.reduce((ar, cur) => { if (!ar.includes(cur)) { ar.push(cur) }…
    javaScript遍历对象总结 1.for … in 循环遍历对象自身的和继承的可枚举属性(循环遍历对象自身的和继承的可枚举属性(不含Symbol属性).). 2.使用Object.keys()遍历  (返回一个数组,包括对象自身的(不含继承的)所有可枚举属性(不含Symbol属性).). 3.Object.getOwnPropertyNames(obj),返回一个数组,包含对象自身的所有属性(不含Symbol属性,但是包括不可枚举属性). var obj = {'0':'a','1'…
原文地址 本文内容 ECMAScript 发生了什么变化? 新标准 版本号6 兑现承诺 迭代器和for-of循环 生成器 Generators 模板字符串 不定参数和默认参数 解构 Destructuring 箭头函数 Arrow Functions Symbols 集合 学习Babel和Broccoli,马上就用ES6 代理 Proxies ES6 说自己的宗旨是"凡是新加入的特性,势必已在其它语言中得到强有力的实用性证明."--TRUE!如果你大概浏览下 ES6 的新特性,事实上它…
原文地址 迁移到:http://www.bdata-cap.com/newsinfo/1741515.html 本文内容 ECMAScript 发生了什么变化? 新标准 版本号6 兑现承诺 迭代器和for-of循环 生成器 Generators 模板字符串 不定参数和默认参数 解构 Destructuring 箭头函数 Arrow Functions Symbols 集合 学习Babel和Broccoli,马上就用ES6 代理 Proxies ES6 说自己的宗旨是“凡是新加入的特性,势必已在其…
Vue.js是一个构建数据驱动的web界面的渐进式框架.在写这边文章时Vue版本分为1.0++和2.0++,这个是基于Vue2.0的项目. Vue-cli是构建单页应用的脚手架,这个可是官方的. Vue-cli安装步骤: 1.npm install -g vue-cli     //全局安装vue-cli 2.vue init webpack projectName        //生成项目名为projectName的模板,这里的项目名projectName随你自己写 3.npm instal…
目录 一.Vue基础 (一)什么是Vue (二)为什么学习Vue (三)如何使用Vue 二.Vue指令 (一)文本指令 (二)事件指令v-on (三)属性指令v-bind (四)表单指令v-model (五)条件指令v-if (六)循环指令v-for (1)用法 (2)基于循环指令的todolist案例 (七)斗篷指令v-cloak 三.Vue实例成员 (一)el:实例 (二)data:数据 (三)methods:方法 (四)computed:计算 (五)watch:监听 (六)delemite…