Blog

js学习笔记(一)

目前在公司做TP项目中。用到了大量打js代码,经过几个月的修炼,现整理了一些学习笔记,分享一下。 一、核心Javascript (一).记法结构 1.1字符集 Javascript程序用的是Unicode字符集编码。 1.2大小写敏感 Javascript是一种区分大小写的语言,但是注意HTML是不区分大小写的(尽管XHTML区分大小写的)。也即在HTML中这些标记和属性名可以任意的大小写方式输入,但是在Javascript中它们通常都是小写的。 1.3可选的分号 尽管理论上说来JS允许在任意两个记号之间放置换行符,但是实际上JS会自动插入分号。例: Return True; JS会假定你的意图是: Return; True; 1.4标识符 第一个字母必须是字母、下划线或美元符号($)! (二).数据类型和值 2.1数字 Javascript不区整型值和浮点型数值。在Javascript中,所有的数字都是由浮点型表示的。 2.1.1整型直接量、八进制和十六进制的直接量 十六进制直接量是以”0x”或”0X”开头,而八进制是以数字0开头。 在ECMAScript标准中不支持八进制的直接量,但是Javascript的某些实现是允许八进制格式的整型直接量的。所以一般最好不要使用以0开头的整型直接量。 2.1.2浮点直接量 例如 3.14 234.342 .342424 2.32e23 1.23424E-32 2.1.3特殊的数值 当一个算术运算(如0除0)产生了未定义的结果或错误时,就会返回一个特殊的非数字的值,为NaN。这个数字值和任何数值都不相等,包括它自己在内,所以需要一个专门的数字来检测IsNaN()来检测这个值。 特殊数值常量 Number.MAX_VALUE Number.MIN_VALUE Number.NaN Number.POSITIVE_INFIITY Number.NEGATIVE_INFITY 这是特殊的常量都是在运算时可能产生的,用IsNaN()或isFinite()等函数来检测。 2.2字符串 2.2.1字符串直接量 字符串是由单引号或双引号括起来的Unicode字符.在单引号可以含有双引号,双引号可以含有单引号。 2.2.2字符串直接量中的转义序列 b t n r v f  ’ ” \ uXXXX(四位十六进制的Unicode字符)    xXX由两位十六进制指定的latin-1字符 2.2.3字符串使用 可以用(+)来连接字符串。 2.2.4数字转换为字符串 Var number=100; Var s=number.toString(); 还可以指定转换的基数, Var s=number.toString(16); 还有三个函数可以精确指定转换后的数字格式,toFixed(),toExponential(),toPrecision(); 2.2.5字符串转换为数字 当把一个字符串用于数字环境中,它也会自动地转换为一个数字, Var t=”21” * “2”; 利用这一优点,只要把一个字符串减去0就可以将其转换为一个数字。 Var t=string_value-0; ParseInt()和ParseFloat(),这两个函数可以从字符串开始处转换和返回任何的数字,忽略或舍去非数字部分。 ParseInt()甚至可以接受另一个参数来指定要解析的数字的基数。合法的范围在2至36之间。 ParseInt(“012”,2); ParseInt(“0x23”);//默认返回10进制 这两个函数不能把指定的字符串转换为数字,它们会返回NaN. ParseInt(“ele”);//返回NaN 2.3布尔值 布尔类型转换(见后) 2.4Null Null被看作对象类型的一个特殊值,即代表“无对象”的值。 2.5undefined 使用了已经声明但还没有赋值的变量时,又或者使用了一个并不存在的对象属性时,返回的就是这个值。注意这个特殊的undefined值不同于null。但是==运算符却将两者相等的。 2.6Error对象 当运行发生错误时,Js会抛出某个类的对象。 2.7函数、对象、数组后面讨论 2.8类型转换小结 不同的值在不同的环境运行时所转换成的值 值                         字符串           数字                                   布尔              对象 未定义的值           “undefined”    NaN                                    false               Error Null                      “null”             0                                        false               Error 非空字符串           不变              字符串中的数字值或NaN   true                String 空字符串              不变              0                                        false               String 0                          “0”                不变                                   false               Number NaN                      “NaN”            不变                                   false               Number 无穷                     “InFinity”       不变                                   true                Number 负无穷                  “-InFinity”      不变                                   true                Number 任意其他的数字    数字字符串值不变                                 true                Number True                            “true”             1                                        不变              Boolean False                     “false”            0                                        不变              Boolean 对象                     toString()              valueOf(),toString(),或NaN  true                   不变 注:对于对象的转换,当在一个数字环境时JS首先调用该对象的ValueOf()方法,如果这个方法返回一个基本类型的值,这个值会被使用,然而在大多数情况下,valueOf()方法返回的是对象自己,在这种情况下,JS先使用toString()方法把对象转换为一个字符串,然后再试图把该字符串转换为一个数字。 2.9基本数据类型的包装对象 跟C#或JAVA里的包装对象是一样的,比如用一个字符串变量时使用了一个字符串对象的方法或属性,JS会为这个字符串值内部创建一个String包装对象.String对象替代了原始的字符串值。注意,这个对象中只是瞬时存在的,在用完以后就没有用了,系统会把它丢弃。 Var s=”asdf”; Var len=s.length;//用长度属性。 2.10传值和传址 基本类型为Null,Undefinded,布尔型,数字。 引用类型为数组、函数、对象。 JS字符串是通过传址来复制和传递的,而它们是通过传值来比较的。

Words translated by CCJK

146,096,379

Request a call or contact us

  •  

    Call ccjk.support for professional assistance

  •  

    Click Here to leave us a message and be as detailed as possible.

We are Certified

Our Client Satisfaction

rating for previous quarte

4.00
  •  
    Inquiry Form

    Please take few minutes to fill
    inquiry form and get Free Quote

  •  
    Request a Call

    Click to receive Free Call, Our
    Representative will contact you

  •  
    Leave a Message

    Please leave us a message and
    be as detailed as possible

Over 95% of our clients recommend our language services to others


Copyright © CCJK Technologies Co., Ltd. 2000-2017. All rights reserved.
TOP