![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaScript
ragingsweet
这个作者很懒,什么都没留下…
展开
-
犀牛书笔记:(9)Objects and Arrays
object literal用{}包围的一组name/value对。name/value用冒号分隔。每一对之间用逗号分隔。要创建一个新的属性,只需要给要创建的属性赋值。 in操作符可以用来检验某个对象是否含有某个属性in操作符左边是属性名的字符串,右边是对象 if( "x" in obj) obj.x = 3;由于访问不存在的属性将会返回undefined,因此也可...原创 2011-08-15 16:18:17 · 88 阅读 · 0 评论 -
犀牛书笔记:(7)Expressions and Operators
加号:如果一个操作数是字符串,加号的另一个操作数将被转换成字符串。对于数字或字符串的转换,调用valueOf()/toString()方法 减号如果是非数字操作数,将试图将其转换成数字 乘号如果是非数字操作数,将试图将其转换成数字 除号如果是非数字操作数,将试图将其转换成数字。JS的除法是浮点的,和JAVA不同 取模(%)如果是非数字操作数,将试...原创 2011-08-04 17:12:49 · 172 阅读 · 0 评论 -
犀牛书笔记:(6)Variables
JS和JAVA, C的最大区别之一就是JS的变量是无类型的。 使用关键字var声明变量,还可以用以下格式:var i, sum; 如果仅仅是声明,而不进行初始化,变量的值为undefined. 用var关键字声明的变量是永久性的。 多次声明同一变量是合法无害的(注意下面的代码)var a;a=10;var a;alert(a);//返回10 ...原创 2011-08-03 17:13:41 · 102 阅读 · 0 评论 -
犀牛书笔记:(5)By value or By Reference
对于JS而言,元数据类型的装配使用传值的方式。(by value)。引用数据类型使用传引用的方式。(by reference)。 数字,boolean为元数据类型。对象属于引用类型。数组,函数也是引用类型。 string简单的看属于传值类型,主要原因是string是不可修改的。 TypeCopied byPassed byCompared...原创 2011-08-03 15:41:35 · 112 阅读 · 0 评论 -
犀牛书笔记:(4)null,undefined Error object, wrapper and Primitive and Object
null是object的一种特殊类型,在boolean语境下,传唤为false,在numeric语境下,转换为0,在string语境下,转换为null. 返回undefined有以下几种情况:使用一个已声明但从未赋值的对象。或一个并不存在的对象的属性。 尽管null和undefined是不同的,但用==判断时,可以得到true的结果,比如my有一个不存在的属性prop,my.p...原创 2011-08-01 17:44:52 · 104 阅读 · 0 评论 -
犀牛书笔记:(3)Boolean,function,Object,Array
Boolean转换为number,true - 1, false - 0; Boolean转换为string, true - "true", false - "false"; number转换为boolean, 只要Number不是0或者NaN,都将转换为true; string转换为boolean, 只要该字符串不是空字符串,null或者undefined,都将转换为tr...原创 2011-08-01 16:30:22 · 220 阅读 · 0 评论 -
犀牛书笔记:(2)数字和字符串的互相转换
将Number转换为String 当数字和一个字符串相加时,将自动转换为字符串。 显式的转换:var string_value = String(number);或者使用var string_value = number.toString();toString()方法在调用之前先将number元数据转换为Number对象。 可以使用toString()进行进制转换:...原创 2011-08-01 11:11:29 · 269 阅读 · 0 评论 -
犀牛书笔记:(1)Lexical Structure / Number and String
JavaScript程序使用Unicode 16位字符集 JavaScript大小写敏感。很多HTML标签和JS对象/属性重名,由于HTML大小写不敏感的特性,常常导致混淆。一般来说,JavaScript都是全部小写的。比如JS:onclick, HTML: onClick. JavaScript忽略空格,tabs,以及换行符。 JavaScript和JAVA,C一样可以...2011-08-01 10:50:01 · 69 阅读 · 0 评论 -
犀牛书笔记:(13)Pattern Matching with Regular Expressions
JS类RegExp用来表示正则表达式 JS中正则表达式是用两个//括起来的,如var pattern = /s$/; 等同于 var pattern = new RegExp("s$"); 字母数字 本身\0 NUL\t Tab\n 新的一...原创 2011-08-26 15:42:10 · 116 阅读 · 0 评论 -
犀牛书笔记:(12)Modules and Namespaces
随着JS的发展,JS程序越写越长,就带来了命名冲突,因此最重要的convention就是使用命名空间防止两个模块定义了同样名字的全局变量。另一个重要的convention是引入模块初始化代码,这对浏览器中的JS尤其重要,因为在document加载完毕后操作某个指定document对象是很普遍的事情。 创建模块和命名空间创建模块最重要的规则是,尽量避免定义全局变量,任何时候你定义...原创 2011-08-24 15:47:34 · 89 阅读 · 0 评论 -
犀牛书笔记:(11)Classes, Constructors and Prototypes
在JS中创建对象往往使用new xxx()的方法,其中xxx被称为构造函数,实际过程是由new操作符创建一个空对象,然后由后面的xxx方法对该对象进行初始化。在xxx方法中,可以使用this关键字引用到。通过定义构造方法,就定义了一个类。在这种语境下,构造方法的命名通常不同于一般的方法命名(动宾)而用类命名的方式。构造函数通常没有返回值,如果有返回值,返回值将会代替之前用new生成的对象。 ...原创 2011-08-22 17:38:15 · 96 阅读 · 0 评论 -
犀牛书笔记:(10)Functions
和对象相关的称为方法,否则称为函数 如果一个函数没有return语句,则返回undefined. 如果传入的参数超过了函数期望的参数个数,后面的参数将被自动忽略。如果传入的参数少于期望的个数,参数将初始化为undefined. function literal, 通过function literal定义一个无名的函数。当然也可以可选的定义一个名字,虽然function li...原创 2011-08-18 11:14:58 · 97 阅读 · 0 评论 -
犀牛书笔记:(8)Statements
Switch先分析跟在switch语句后的表达式,然后解析case后的值,知道找到吻合的配对,匹配的条件用===而不是==。 for( variable in object)访问的顺序不确定,根据JS的实现的不同而有不同。如果在遍历时,删除了一个未遍历的元素,则该元素将不被遍历。如果在遍历时,增加了一个新元素,该元素是否被遍历取决于JS的实现。此语句并不保证遍历对象的...原创 2011-08-05 12:12:08 · 102 阅读 · 0 评论