JavaScript-语法

JavaScript-语法

第二章:JavaScript语法

变量赋值:

  • var age,mood; // console.log(age,mood) 已定义的变量输出为undefined
  • console.log(a) // 未定义的直接抛出错误 Uncaught ReferenceError: a is not defined

数据类型:

  • JavaScript为弱语言类型 // var age = ‘thirty’ ; age = 33; 不会报错
  • 字符串(String)

转义字符 “ \ ”

示例: var mood = ‘don\‘t ask’ ;

var height =”about 5 ‘10\“tall” ;

  • 数值(Number)

    • 整数

    • 负数

    • 浮点数(floating-point number)

  • 布尔值(boolean)

    • true

    • false

  • 数组(Array)

    • 下标index+值value 的组合 index开始于0

    • length 数组长度

    • 传统下标赋值(值可以有 任意基础类型)

    • 二维数组嵌套 class[0][0] 第一班第一位

var people = [];
people['name'] = 'john';
people['year'] = 1940;

这样的数组叫做关联数组。由于可以使用字符串来代替数字值,因而代码更具有可读性。但是,这种用法并不是一个好习惯,不推荐大家使用。本质上,在创建关联数组时,你创建的是Aray对象的属性。在 JavaScript中,所有的变量实际上都是某种类型的对象。比如,一个布尔值就是一个 Boolean类型的对象,一个数组就是一个Aray类型的对象。在上面这个例子中,你实际上是给 lennon数组添加了name、year和 living三个属性。理想情况下,你不应该修改Aray对象的属性,而应该使用通用的对象( object)。

  • 对象

    • 创建对象使用0bject关键字

    • var lennon ={ name: John”, year: 1940, living: false } // 创建对象

操作(operation)

  • 算数操作符

    • 加减乘除 + - * /

    • 自增 自减 ++ --

    • +连接字符串

    • += -= *= /= // var a = a + 1 ; a+=1 ;

可进行字符串拼接 强制转换为字符串

var year = 2018;
var message = "this year" + year;
console.log(message) // 

条件语句

  • if 条件语句 基本语法:

    if(条件语句){ //条件为真 往下执行
      //执行语句
    }
    
    if(1>2) alert('false') //可写成一行
  • 比较操作符

  • 大于 小于 大于等于 小于等于 相等 全等 不等于 不全等(> < >= <= == === != !==)

  • 逻辑操作符

    • 或于切(|| 或、&& 且)
    • 或 || 一个条件为真 就是真
    • 且 两个条件为真 就是真 一个假就是假

循环语句

  • while循环

    while(条件){ //只要条件为true就执行
      //执行语句
    }
    
    example :
    var a = 1 ;
    while(a<11){
      a++;
          }
  • do while 循环

    do{
      //语句
    }while(条件)
     //先执行一次 
      //条件为真 继续运行 条件为假 退出
  • for 循环

    for(var i = 1; i<9 ; i++){
      //statement
    }

函数

如果需要多次使用同一段代码,可以把它们封装成一个函数。函数( function)就是一组允
许在你的代码里随时调用的语句。事实上,每个函数实际上是一个短小的脚本。

function(arguments){ //参数 形参
  //执行语句
  return '' //函数可以返回任意数据类型 包括函数
}
  • 变量作用域

    • 全局变量

    • 局部变量

      判断全局还是局部变量需要用var来判断,当函数内部有var的时候,是局部变量,当函数里没有var的时候是全局变量

    function get(num){
      total = num * num;
      return total;
    }
    var total = 33;
    var new = get(12);
    console.log(total) //144
    //调用过程中,total市全局变量,并不是局部变量,当函数调用修改的时候total的值也发生了变化
    
    //调整
    function get(num){
      var total = num * num;
      return total;
    }
    //此时total是get函数的局部变量

对象

对象( object)是一种非常重要的数据类型,但此前我们还没有认真对待它。对象是自包含
的数据集合,包含在对象里的数据可以通过两种形式访间—属性( property.)和方法( method):

属性是隶属于某个特定对象的变量;
方法是只有某个特定对象才能调用的函数

  • 属性 property

    • 共同调用方法 “.”
    • 隶属于对象的变量
  • 方法 method

    • 隶属于对象的方法
    • 可执行函数
  • 实例对象(instance)

    function Person(){
        this.age = '11'  
    }
    
    

//实例对象 操作符 new 通过实例化对象 把构造函数的属性和方法挂载到实例对象上
var chenyu = new Person();
console.log(chenyu.age)


* 内建对象

  * 数组对象Array
  * 数学对象Math
  * 日期对象Date

* 宿主对象

  > 由浏览器提供的预定义对象被成为宿主对象
  * document对象

  * window对象

评论