javascript运算、表达式、语句、函数和对象

javascript运算符:

  1. 一元运算符:delete、void、++、--、+、-
  2. 位运算符:~、&、|、^、<<、>>、>>>
  3. 逻辑运算符:!、&&、||
  4. 乘性运算符:*、/、%
  5. 加性运算符:+、-
  6. 关系运算符:>、<、>=、<=、==、!=、===、!==(字符串比较ascii,如果有一个为数字另一个非null和undefined则全部转换为数字后在进行比较,null != 0,undefined != 0)
  7. 条件运算符:? :
  8. 赋值运算符:=、所有的算数运算符加上等号类似a = a + b(a += b)
  9. 逗号运算符:值为最后一个表达式的值。

javascript语句:

  1. 分支语句:if、if else、if else if
  2. 迭代语句:for、for in、do while、while
  3. 标签语句:lable : statement
  4. break:跳出代码块(如果没有标签则为最近代码块)
  5. continue:循环代码块
  6. with:更改作用域搜索顺序(首先搜索with指定的对象)
  7. switch:表达式可以是数字、字符串?

javascript函数:

  1. 函数定义
  2. 函数调用
  3. 函数返回值
  4. arguments对象
  5. Function对象(new function(arg1, arg2, ..., argN, function_body))
  6. Function对象的length属性:函数定义的参数数量
  7. 闭包(函数可以使用函数之外定义的变量)

javascript面向对象:

javascript没有类的概念,对象是通过function进行初始化的,类似构造函数。所以我们前面说的Number、String、Boolean和Object都是function,而function又是对象,这里我们需要特别注意。

javascript有三种对象:

  1. 本地对象(ECMA定义的类)Object、Function、Array、String、Boolean、Number、Date、RegExp、Error、EvalError、RangeError、ReferenceError、SyntaxError、TypeError、URIError
  2. 内置对象(ECMA定义的自动实例化的对象Global和Math)
  3. 宿主对象(如BOM和DOM)

javascript的对象作用域:只有公有作用域

this的功能:永远指向调用该方法的对象,并不一定是定义方法的所属对象。

定义类和对象

  1. 工厂方式,创建一个function,每次调用返回对象。
  2. 构造函数方式,创建一个function,每次使用new function进行对象的创建。
  3. 原型方式,空对象,然后扩展Function的prototype属性。
  4. 混合的构造函数/原型方式。
  5. 修改对象,对象实例化后对其属性和方法进行增、删、改的操作。
  6. javascript的继承机制,类的所有对象都继承一个对象实例,也就是构造函数对象的prototype。
  7. 要实现普通的面向对象特征我们需要使用javascript原有的prototype继承方式和动态绑定的能力进行模拟。对象冒充(call、apply方法)

相关推荐