zoukankan      html  css  js  c++  java
  • 关于js的核心笔记需要注意的地方都在这里啦,有测试代码

    一、说明

    参考blog:http://www.cnblogs.com/xiaofu/articles/1613463.html

    二、记法结构

    2.1字符集  Javascript程序用的是Unicode字符集编码。

    2.2大小写敏感

    2.4可选的分号

    2.7标识符   第一个字母必须是字母、下划线或美元符号($)!

    三、数据类型和值

    3.1数字

    Javascript不区整型值和浮点型数值。在Javascript中,所有的数字都是由浮点型表示的。

           3.1.1,3.1.2整型直接量、八进制和十六进制的直接量

                  十六进制直接量是以”0x”或”0X”开头,而八进制是以数字0开头。

    在ECMAScript标准中不支持八进制的直接量,但是Javascript的某些实现是允许八进制格式的整型直接量的。所以一般最好不要使用以0开头的整型直接量。

           3.1.3浮点直接量

                  例如

                  3.14

                  234.342

                  .342424

                  2.32e23

                  1.23424E-32

           3.1.6特殊的数值

                  当一个算术运算(如0除0)产生了未定义的结果或错误时,就会返回一个特殊的非数字的值,为NaN。这个数字值和任何数值都不相等,包括它自己在内,所以需要一个专门的数字来检测IsNaN()来检测这个值。

           特殊数值常量

          NAN  

           Infinity  无穷大

           Number.MAX_VALUE

           Number.MIN_VALUE

           Number.NaN

           Number.POSITIVE_INFIITY

           Number.NEGATIVE_INFITY

           这是特殊的常量都是在运算时可能产生的,用IsNaN()或isFinite()等函数来检测。

    3.2字符串

           3.2.1字符串直接量

                  字符串是由单引号或双引号括起来的Unicode字符. 单引号可以含有双引号,双引号可以含有单引号

           3.2.2字符串直接量中的转义序列

                  \0 \b \t \n \r \v \f  \’  \”  \\ \uXXXX(四位十六进制的Unicode字符)    \xXX由两位十六进制指定的latin-1字符

    var a = "Does Ansel's cat love Tanya's Dog?";
    alert(a);
    var b = 'Does Ansel\'s cat love Tanya\'s Dog?';
    alert(b);

      3.2.3字符串使用

                  可以用(+)来连接字符串

           3.2.4数字转换为字符串

                  Var number=100;

                  Var s=number.toString();

                  还可以指定转换的基数,

                  Var s=number.toString(16);

                  还有三个函数可以精确指定转换后的数字格式,toFixed(),toExponential(),toPrecision();

    var number=100;
    alert(number.toString()+"-"+number.toString(16)+"-"+number.toFixed()+"-"+number.toExponential()+"-"+number.toPrecision());
    //100-64-100-1e+2-100

           3.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

    3.7Null

           Null被看作对象类型的一个特殊值,即代表“无对象”的值。

    3.8undefined

           使用了已经声明但还没有赋值的变量时,又或者使用了一个并不存在的对象属性时,返回的就是这个值。注意这个特殊的undefined值不同于null。但是==运算符却将两者相等的。

    3.11Error对象

           当运行发生错误时,Js会抛出某个类的对象。

    3.12类型转换小结

           不同的值在不同的环境运行时所转换成的值

           值                         字符串           数字                                   布尔              对象

           未定义的值           “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()方法把对象转换为一个字符串,然后再试图把该字符串转换为一个数字。

           3.13,3.14基本数据类型的包装对象

                  跟C#或JAVA里的包装对象是一样的,比如用一个字符串变量时使用了一个字符串对象的方法或属性,JS会为这个字符串值内部创建一个String包装对象.String对象替代了原始的字符串值。注意,这个对象中只是瞬时存在的,在用完以后就没有用了,系统会把它丢弃。

           Var s=”asdf”;

           Var len=s.length;//用长度属性。

    注意:JS中函数的方法call(),apply(),可能还有其它的方法能被字符串常量,数字,布尔类型甚至null,undfined调用,为什么?因为包装对象啊!!!在这两个函数里面需要对象所以就把常量包装成对象了来调用对象,用完就丢掉!!jQuery中的的each方法循环对象的属性时就是用的这个特性。

    3.15传值和传址

           基本类型为Null,Undefinded,布尔型,数字。

    引用类型为数组、函数、对象。

    JS字符串是通过传址来复制和传递的,而它们是通过传值来比较的。可以说是既能是基本类型又是引用类型!

  • 相关阅读:
    LeetCode Single Number
    Leetcode Populating Next Right Pointers in Each Node
    LeetCode Permutations
    Leetcode Sum Root to Leaf Numbers
    LeetCode Candy
    LeetCode Sort List
    LeetCode Remove Duplicates from Sorted List II
    LeetCode Remove Duplicates from Sorted List
    spring MVC HandlerInterceptorAdapter
    yum
  • 原文地址:https://www.cnblogs.com/yingzi/p/2380692.html
Copyright © 2011-2022 走看看