js语法

作者: 灯光树影 | 来源:发表于2018-08-11 18:02 被阅读0次
  • 注释
    尽量避免使用块级注释,可以避免下面错误:

     var rm_a = /a*/.match(a);
    
  • 标识符
    字母开头,后面可选择性添加1个或多个字母、数字或下划线

  • 数字

    1. javascript只有一个数字类型,内部被表示为64位的浮点数,其没有分离出整数类型,所以1和1.0的值相同
    2. 如果一个数字字面量具有指数部分,那么这个字面量的值等于e之前的数值与10的e之后数字的次方相乘。如100等于1e2(1e2-->1*10的平方)
    3. NaN是一个数值,它表示一个不能产生正常结果的运算结果。NaN不等于任何值,包括自身。可以使用isNaN(number)检测NaN
    4. Infinity表示所有大于1.79769313486231570e+308的值
  • 字符串
    字符串字面量可以包在单引号或双引号中,可能包含0或多个字符。\是转义字符,Unicode是一个16位的字符集,javascript的所有字符都是16位的。javascript没有字符类型。

      //\u表示使用unicode编码
      console.log("A" === "\u0041") //true
    
      //字符串有一个length属性,用于获取字符串的长度
      console.log("string".length); //6
    
      //字符串是不可变的。但是可以通过+连接其他字符串创建一个新的字符串,两个字符和字符顺序完全相同的字符串被认为是相同字符串,即使存储空间不同 
      console.log("c" + "a" + "t" === "cat"); //true  
    
  • 语句

    • 一个编译单元包含一组可执行的语句。每个script标签提供一个被编译且立即执行的编译单元。因为缺少连接器,javascript把它们放在一个公共的全局命名空间中。
    • 在if,switch,while,for语句中,被理解为false的值有:
      false, null, undefined, '', 0, NaN
      其它所有值为true,包括字符串'false',以及所有对象
      但是,这不意味着它们与false进行==运算时,结果为true
        console.log(false == null); //false
        console.log(false == undefined); //false
        console.log(false == ' '); //true
        console.log(false == ''); //true
        console.log(false == 0); //true
        console.log(false == NaN); //false
        console.log(null == undefined) //true
        console.log(null == NaN) //false
        console.log('' == 0); //true
        console.log(' ' == 0) //true
      

      总结:

      1. null和undefined进行==运算时,都转成undefined对象,所以null == undefined 为true
      2. NaN不会转成其它对象,所以NaN不等于其它任何数,前面也说了它甚至不等于自己,仅仅表示一个无法表示的计算结果
      3. ''和 ' '进行==运算时,转成0。而0 == false
      4. 一个奇怪的现象:
        在javascript中,对于n(n>=1),n == true,只有n=1成立;
        而对于!n == false,所有的n都成立
  • 表达式

    最简单的表达式包括:
    1: 字面量值(字符串或数字)
    2: 变量
    3: 内置的值(true,false,null,undefined)
    4: 以new开头的调用表达式
    5: 以delete开头的属性提取表达式
    6: 包在圆括号中的表达式
    7: 以一个前置运算符前导的表达式
    ....

  • 类型
    javascript有5中基本数据类型,number, object, undefined, function, boolean
    使用typeof可以判断变量的数据类型
    以下是一些使用typeof的例子:

    console.log(typeof NaN); //number
    console.log(typeof '123'); //stirng
    console.log(typeof true); //boolean
    console.log(typeof undefined); //undefined
    console.log(typeof function(){}); //function
    console.log(typeof null); //object
    console.log(typeof []); //object
    

相关文章

  • JS基础和WebAPIs的关联性

    学习ECMAscript标准规定的基本语法掌握JS基础语法只学习JS基础做不了网页交互效果学习JS基础语法是为了后...

  • react-jsx

    jsx 是类似 js 模板语法 声明 jsx 使用 jsx jsx 语法 jsx 是 js 的语法扩展,在 jsx...

  • 4/07day28_js基础

    day28_js基础 回顾 JS基础语法 JS运算符 JS流程控制语句 条件语句 JS的条件语句和Java语法基本...

  • JSX语法

    在react中,在js文件里写html标签,我们把这种语法称为 jsx语法。 jsx语法与普通js语法的区别 普通...

  • Vue入门(1)

    一、 前置知识 Node.js已安装 HTML语法(MDN) CSS语法(w3school) JS语法(阮一峰)...

  • express+ejs实现最简模板

    //语法就是js。。。

  • jsx语法

    什么是jsx语法 html写在js中而且不用加任何引号. 遇见<>按html语法解析,遇见{ }按js语法解析。 ...

  • react入门(一)

    react.js是核心库,react-dom.js提供与DOM相关功能,Browser是将JSX语法转化为js语法...

  • -----Web APIs-----

    JS学习ECMAScript基础语法是为后面做铺垫,Web APIs才是JS的应用,大量使用JS基础语法做交互效果...

  • React 知识点小结(一):基础

    React:facebook公司的框架。2013年开源的项目。 JSX语法:js语法的扩展。JS + XHTML的...

网友评论

      本文标题:js语法

      本文链接:https://www.haomeiwen.com/subject/sevdbftx.html