javascript学习笔记
- javascript的函数是一个真正的数据类型,它可以被存储在变量、数组和对象中,而且函数还可以作为参数传递给其他函数。
- 对象的属性可以是任何类型的数据,包括数组、函数以及其他的对象。
- javascript中的对象可以作为关联数组使用。(关联数组以字符串作为下标)
- javascript不支持多维数组,不过它的数组元素还可以是数组。
- RegExp对象有一个直接量语法,一对斜线之间的文本就构成了一个正则表达式直接量。
- eval()方法处理字符串值和Strign对象的方式不同。
- 由var声明的变量是永久性的.用delete删除这些变量将会引发错误.
- instanceof运算符要求其左边的运算数是一个对象,右边的运算数是对象类的名字.
- 函数中声明的所有变量在整个函数中都有定义.
- 未知类型也是类型,没有赋值也是值:undefined;
- 空值也是值:null.
- 设置表单元素的name性质,就创建了一个引用该元素的From对象的新属性。
- 为了使HTML表单中的一组Radio元素表现出“单选钮”互斥式行为,它们必须具有相同的name性质。Checkbox也一样。
- 通过设置数组的length属性来截断数组是惟一一种缩短数组长度的方法。
- javascript支持的是以原型为基础的继承机制,而不是以类为基础的继承机制。
- 基本数据类型在内存中具有固定的大小.
- 通常引用的形式是指针或者内存地址.
- 全局变量是全局对象的属性,局部变量是调用对象的属性.
- 所有的数字都是浮点型.
- 逐位运算符要求它的数字运算数是整型的(32位).如果是小数则舍去小数部分
- else从句是离它最近的if语句的一部分.
- 函数定义不能出现在if语句,while循环或其他任何语句中.
- 比较运算只能在数字和字符串上执行,如果不是则转换成数字或字符串.
- 在Unicode编码中(至少对ASCII码子集来说),所有大写字母小于所有小写字母.
- 如果函数没有return语句,那么返回undefined.
- Function()构造函数允许我们动态地建立和编译一个函数.
- 在javascript中,函数并不只是一种语法,还可以是数据,这意味着能够把函数赋给变量、存储在对象的属性中或存储在数组的元素中、传递给函数,等等。
- for/in循环列出的属性并没有特定顺序,而且虽然它能枚举出所有的用户定义的属性,但是却不能枚举出某些预定义的属性或方法。
- 构造函数只是初始化了特定的对象,但并不返回这个对象。
- 每个对象都继承原型对象的所有属性。
- 一个对象的原型是由创建并初始化该对象的构造函数定义的。
- 属性的继承只发生在读属性值时,而在写属性值时不会发生。
- 原型对象的属性被一个类的所有对象共享。
- 构造函数的原型对象是由JavaScript自动创建的,但在javascript1.1中不会为它创建原型对象。
- 像String和Date这样的内部类同样具有原型对象,也可以给它们赋值。
- 实例方法使用了关键字this来引用它们要操作的对象或实例。
- 在JavaScript中所有的对象都类Object继承而来的。
- JavaScript的所有事件处理程序属性都必须用小写形式。
- JavaScript是一段一段执行的(以<script>标签来分割),执行每一段之前,都有一个“预编译”,预编译干的活是:声明所有var变量(初始为undefined),解析定义式函数语句。
- 浏览器中 JS 的全局变量都直属浏览器的 window 对象, 尽管常常省略这个前缀。
- String 的静态方法只有这一个fromCharCode。
- ECMAScript 标准不再支持八进制
- 在HTML中类似的转义是使用&符号