JS基础

2016-12-17  本文已影响0人  言大大freedom

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

位操作符

按位非/按位与/按位或/按位异或



布尔操作符

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

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

关系操作符

    > <=  >=  < > 

相等操作符

    ==(强制转型)  ===(类型值必须相等)
    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

上一篇下一篇

猜你喜欢

热点阅读