JavaScript高级编程(一) -- 基本概念

该系列笔记主要取自于JavaScript高级编程(第3版),这是第二次看该书,感觉还是能获取很多的知识。在这里只列举其中的重要知识点进行整理,以供大家作为学习交流。


  1. JavaScript区分大小写
  2. JavaScript的标识符需要满足以下要求:
  • 第一个字符必须是字母、下划线或$
  • 其他字符可以是字母、下划线、$或数字
  1. EcmaScript5引入严格模式,即在代码顶部添加"use strict",将改变解析和执行模型,也可以在某个函数体内添加该条语句
  2. JavaScript的每条语句需要以分号结尾
  1. 使用var生命的变量为局部变量,如果没有使用var来生命此变量,则该变量将会变为全局变量
  2. 在严格模式下,不能定义名为evalarguments的变量
  1. JavaScript中有5中简单数据类型(undefined, null, boolean, number, string)和一种复杂数据类型(object)可以使用typeof反射一个变量来获得该变量的数据类型

反射的值

说明

undefined

该值未定义

boolean

该值是布尔值

string

该值是字符串

number

该值是数字

object

该值是对象或null

function

该值是函数

  1. Object的每个实例都具有如下属性和方法:

属性、方法

说明

constructor

保存着用于创建当前对象的函数

hasOwnProperty(propertyName)

用于检测给定的属性在当前对象实例(而不是在实例的原型中)是否存在,参数propertyName必须是字符串

isPropertyOf(object)

用于检查传入的对象是否是传入对象的原型

propertyIsEnumerable(propName)

用于检查给定的属性是否能够使用for-in语句来枚举

toLocaleString()

返回对象的字符串表示,和区域相关

toString()

返回对象的字符串表示

valueOf()

返回对象的字符串、数值或布尔表示,通常与toString()方法的返回值相同

  1. 一些特殊情况的比较结果:

表达式

表达式

null == undefined

true

true == 1

true

'NaN' == NaN

false

true == 2

false

5 == NaN

false

undefined == 0

false

NaN == NaN

false

null == 0

false

NaN != NaN

true

'5' == 5

true

false == 0

true

 

 

  1. 在严格模式下对函数的一些限制:
  • 不能把函数命名为evalarguments;
  • 不能把参数命名为evalarguments;
  • 不能出现两个命名参数相同的情况
  1. 在函数体内可以使用arguments获取参数的情况,arguments是一个类数组对象,但不是数组,可以通过下表来进行获取,并且有length属性
  1. JavaScript中的函数没有重载
posted @ 2016-03-28 22:55  hebutyll  阅读(187)  评论(0编辑  收藏  举报