JS基础

作者: 言大大freedom | 来源:发表于2016-12-17 10:45 被阅读0次

    defer(延迟脚本)和async(异步脚本)区别:当把script的标签放在头部时,都是延迟加载,立即执行。但是async不保证按顺序加载。使用async是不让页面等待脚本的加载和执行,从而异步加载页面的其他内容。

    xhtml,可扩展超文本标记语言,是将html基于XML的应用而重新定义的一个标准。严格版的html。

    数据类型

    js中变量类型分为两大类。基本数据类型和引用类型。基本数据类型指值直接保存在变量本地的类型。引用类型变量中实际保存的是实际数据所在的地址值。

    js中有5种简单数据类型(基本数据类型):Sting Boolean Undefined Null Number,1种复杂类型Object类型。
    使用typeof操作符检测变量的基本类型,返回undefined number string boolean object function。对未声明的变量执行typeof也会返回undefined
    使用instanceof检测引用类型的值。

    Boolean

    调用Boolean()时,0 NAN null undefined 空字符串都会转换成false

    Number

    把非数值转换为数字的函数:Number() parseInt() parseFloat()

    Number(x) VS parseInt(str)
    Number(x)只认识纯数字组成的字符串,可转bool类型,可将空字符串转换为0
    parseInt(str)认识包含非数字字符的字符串开头位置的数字,parseInt转不了bool,将空字符串转换为NaN

    String

    Sting() VS toString()
    toString()对null和undefined这两个值无效,String()是万能的,转换规则,先查看值是否有toString()的方法,有就调用该方法,并返回相应结果。如果值是null就返回null,如果值是undefined就返回undefined

    Object
    对象就是一组数据和功能的集合。
    valueOf():返回对象的字符串,数组,布尔值表示。通常与toString()方法的返回值相同

    操作符

    一元操作符(只能操作一个值的叫做一元操作符。)

    1.递增递减操作符
    ++a VS a++

          ++a/--a是执行前置递增递减操作时,变量的值时在语句被求值以前改变的。
          var age = 18
          var  newAge = ++age + 2
          alert (age) //19
          alert (newAge) //21
    

          a++/a--变量的值是在语句求值之后改变的。
          var num1 = 2
          var num2 = 10
          var num3 = num1-- + num2  //12
          var num4 = num1-- + num2  //11
    

    2.加减操作符
    与数学书上讲的完全一样,➕放在数值前面,对数值不会有任何影响。一元减操作符主要用于表示负数。

          var num = 10
          num = -num  //-10
    

    位操作符

    按位非/按位与/按位或/按位异或
    • 按位非(~)本质操作数的负值减1
      var num1 = 25
      var num2 = ~num1 //-26

    • 按位与(&) 都是1结果才是1 ,任何一个为0结果都是0
      var num1 = 25 & 3
      alert(num1) //1

    • 按位或(|)其中任何一位是1就是1,两个位都是0的情况下才返回0
      var num1 = 25 | 3
      alert(num1) //27

    • 按位异或(^)其中一个是1才返回1,两位都是1或者0则返回0
      var num1 = 25 ^ 3
      alert(num1) //26

    布尔操作符

    逻辑与(&&)/逻辑或(||)/逻辑非(!)

          短路逻辑:第一个值可以决定结果,就不会对第二个数求值了。
    

    关系操作符

        > <=  >=  < > 
    

    相等操作符

        ==(强制转型)  ===(类型值必须相等)
        null == undefined //true
        null === undefined //false
    

    条件操作符

        三目运算  var a = (num1 > num2) ? num1 : num2
    

    赋值操作符

        += -=  *=  /=  %=
    

    语句

    if else
    do while(至少执行一次)/while/for/for in(遍历枚举对象的属性)
    continue(跳出本轮循环,继续下一轮)/break(彻底打破循环跳出)
    switch case default(当case表达式里都不匹配时,自动执行default,相当于else)

    函数

    封装了一段任务的步骤清单的代码段,再起一个任务名。函数是一个引用类型的对象。
    不支持重载,但是可以模拟重载。函数return返回后后续代码不会执行。函数中传入的参数arguments是类数组对象,可以访问arguments.length

    相关文章

      网友评论

          本文标题:JS基础

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