HTML5技术

es6笔记1^_^let、string、number、math - webNick

字号+ 作者:H5之家 来源:H5之家 2017-01-12 11:00 我要评论( )

ECMAScript是一种由Ecma国际(前身为欧洲计算机制造商协会,英文名称是European Computer Manufacturers Association)通过ECMA-262标准化的脚本程序设计语言。这种语言在万维网上应用广泛,它往往被称为JavaScript或JScript,但实际上后两者是ECMA-262标准的

  ECMAScript是一种由Ecma国际(前身为欧洲计算机制造商协会,英文名称是European Computer Manufacturers Association)通过ECMA-262标准化的脚本程序设计语言。这种语言在万维网上应用广泛,它往往被称为JavaScript或JScript,但实际上后两者是ECMA-262标准的实现和扩展。ECMAScript 6.0(以下简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了。它的目标,是使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言。

  嫌babel麻烦,直接使用Traceur转码器-Google公司的Traceur转码器,可以将ES6代码转为ES5代码。这意味着,你可以用ES6的方式编写程序,又不用担心浏览器是否支持。Traceur允许将ES6代码直接插入网页。首先,必须在网页头部加载Traceur库文件。

class Calc { constructor(){ console.log(); } add(a, b){ b; } } Calc(); console.log(c.add(

  这样就可以欣赏es6咯!我在写这篇博文的时候把chrome升级到了最新版,大部分es6都支持了。如若报错,还是老实按上面的方法加编译器吧。

一、let   let是ES6中新增关键字。它的作用类似于var,用来声明变量。const声明一个只读的常量。一旦声明,常量的值就不能改变。
  ES5只有全局作用域和函数作用域,没有块级作用域,这带来很多不合理的场景。
  而let则实际上为JavaScript新增了块级作用域。用它所声明的变量,只在let命令所在的代码块内有效。

if(1){ var a=1; let b=2; console.log(a); console.log(b); } console.log(a); (1){//只在此作用域有效 const c=3; console.log(c); } // console.log(c);//报错 b is not defined(…)

  一个var带来的不合理场景就是用来计数的循环变量泄露为全局变量,看下面的例子:

var a = []; for (var i = 0; i < 10; i++) { a[i] = function () { console.log(i); }; } a[6](); aa = []; for (let ii = 0; ii < 10; ii++) { aa[ii] = function () { console.log(ii); }; } aa[6](); // 6

二、repeat()

  str.repeat()返回一个新字符串,表示将原字符串重复n次。

if(1){ let str='nick'; let str1=str.repeat(2); console.log(str); console.log(str1); }

三、拼接字符串   模板字符中,支持字符串插值,模板字符串可以包含空格多行。
  用`来标识起始,用${}来引用变量,而且所有的空格和缩进都会被保留在输出之中,``这2个点不是引号,是esc下面那个~、(英文状态)。

if(1){ let first='web'; let last='nick'; console.log(`Hello ${first} ${last}!`); console.log(`Hello ${first} ${last}!`); console.log(`Hello ${first} ${last}!`); }

  以上常用,下面的作为了解

四、String.raw() 若使用String.raw 作为模板字符串的前缀,则模板字符串可以是原始(raw)的。反斜线也不再是特殊字符,\n 也不会被解释成换行符:

if(1){ let raw=String.raw`hi : \n`; console.log(raw==='hi : \\n'); }

五、Number.isFinite()、Number.isNaN()、Number.isInteger()   Number.isFinite()用来检查一个数值是否非无穷(infinity)。Number.isNaN()用来检查一个值是否为NaN。

Number.isFinite(15); // true Number.isFinite(0.8); // true Number.isFinite(NaN); // false Number.isFinite(Infinity); // false Number.isFinite(-Infinity); // false Number.isFinite("foo"); // false Number.isFinite("15"); // false Number.isFinite(true); // false Number.isNaN(NaN); // true Number.isNaN(15); // false Number.isNaN("15"); // false Number.isNaN(true); // false

Number.isInteger()用来判断一个值是否为整数。需要注意的是,在JavaScript内部,整数和浮点数是同样的储存方法,所以3和3.0被视为同一个值。

Number.isInteger(25) // true Number.isInteger(25.0) // true Number.isInteger(25.1) // false Number.isInteger("15") // false Number.isInteger(true) // false

六、Math   Math对象新增的方法,都是静态方法,只能在Math对象上调用。
  Math.trunc():去除一个数的小数部分,返回整数部分。

Math.trunc(4.1) // 4 Math.trunc(-4.1) // -4

注意:对于空值和无法截取整数的值,返回NaN。
Math.sign():判断一个数到底是正数、负数、还是零。
返回五种值:参数为正数,返回+1;参数为负数,返回-1;参数为0,返回0;参数为-0,返回-0;其他值,返回NaN。

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • HTML5笔记2——HTML5音/视频标签详解 - 邹琼俊

    HTML5笔记2——HTML5音/视频标签详解 - 邹琼俊

    2016-12-29 15:01

  • HTML5笔记1——HTML5的发展史及标签的改变 - 邹琼俊

    HTML5笔记1——HTML5的发展史及标签的改变 - 邹琼俊

    2016-12-29 13:00

  • React Native学习笔记 - 用代码做点啥

    React Native学习笔记 - 用代码做点啥

    2016-12-22 16:00

  • html5实现GIF图效果 - string卿

    html5实现GIF图效果 - string卿

    2016-12-13 10:01

网友点评