JavaScript的基础知识

Posted 无聊才读书

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript的基础知识相关的知识,希望对你有一定的参考价值。

1,标识符

 标识符是程序中常量或变量命名的一种术语称呼,并不是所有的字符组成都是一个合法的标识符,规范如下:

  1.   标识符的组成部分可以是字母,数字,下划线或美元($)符号 
  2.   标识符开头是字母,下划线或美元($)符号,而不能是数字
  3.   标识符不能出现一些特殊符号(如:¥,%,+)也不能存在空格
  4. 不能是javascript中的保留字(即关键字),如:var,new,if,else 等
  5. 标识符区分大小写,myName和MyName是两个不同的标识符

以下标识符是正确的:

myPencil  myName  _myAge  $mySex  xyz123  _123abc  Var  New

以下标识符时错误的

123abc  my+Name  my,.Age  var  new

2.JavaScript中的数据类型

  1. 数值型(number)  

      整型

      整型数据,即我们通常所说的整数,如:123100200等等。

       整型数据可以是十进制、八进制和十六进行,默认采用的是十进制

       如果需要表示八进制数据,则必须以数字0开头。如八进制037,其十进制值为31

       如果需要表示十六进制数据,则必须以0x0X开头,其中0为数字零。如十六进制0x3D,其十进制值为61

   浮点型

   浮点型数据,即我们通常所说的小数。如:3.1412.34100.5等等。

   实型数据除了可以使用常用格式外,还可使用科学计数法来表示。如:8.28次方——8E+88.2的负8次方——8.2E-8

   特殊数值

   Infinity当一个正浮点型数据大于或等于其所能表示的最大值时(21024次方),则其结果是一个特殊的正无穷大,JavaScript将它标识为Infinity。

        -Infinity当一个负浮点型数据小于或等于其所能表示的最小值时(-21024次方),则其结果是一个特殊的负无穷大,JavaScript将它标识为- Infinity。

       NaNNot a Number,表示一个值并不是合法的数值形式,如字符串(纯数字字符串除外)。这个数值比较特殊,它和任何数值都不相等,包括它自己在内,所以我们专门通过函数isNaN()来检测这个值!

       2. 字符串型

      JavaScript中没有单独的字符常量,而是有若干字符组成的字符串常量

      字符串型常量必须使用单引号(‘‘)或双引号("")将各组成字符括起来,如"ab","abook" 

      当一个字符串不包括任何字符时,其形式为""或‘‘表示一个空字符串

      在JavaScript中,有些特殊的符号不能直接进行输出,在此需要一种特殊的字符常量来表示,即转义字符

      转义字符必须以反斜杠()开头,后面跟一个或几个特定的字符

      

转义字符

Unicode

含义



u0008

退格

u0009

横向跳到下一个制表位置

u000A

回车换行

v

u000B

竖向跳到下一制表位置

f

u000C

走纸换页

u000D

回车

u0022

双引号

u0027

单引号

\

u005C

反斜杠

xnn

 

十六进制代码nn(00~FF)表示的字符。

unnnn

 

十六进制代码nnnn(0000~FFFF)表示的Unicode编码。

x3c

 

字符“<

x3e

 

字符“>

    3,布尔型(boolean)

      布尔值用于表示一个事物的正反面

      该类型只有true和false,通常用于条件判断语句

    4,空值型(null)

     这是一个值,null,表示一个变量所指向的对象为空值!

              它表示“无值”,并不表示“null”这4个字母,也不是0和空字符串,而是JavaScript中的一种对象类型

     null可用于初始化变量,以避免产生错误,也可以用于清除变量的内容,从而释放与变量相关联的内存空间。当把null赋值给某个变量后,这个变量中就不再保存任何有效的数据了!

             5,未定义型(undefined)

             这是一个值,undefined,表示变量未声明或未初始化或对象的某个属性不存在。

             null表示赋给变量的值为“空”,“空”是一个特殊意义的值,而undefined则表示变量并未存在或未初始化,变量的值还处于未知状态!

             在使用等于运算符==”的时候,null和undefined均和自己相等,同时互相之间也相等,但和其他任何值都不相等。

             严格等于运算符===”将null和undefined的值看做不相等。

3,JavaScript中数据类型的转换

           隐式转换

           数值字符串与数值相加,进行字符串的连接运算,最后结果为string类型

"123"+123 ="123123"

            数值字符串与数值相减,进行算术减法运算,最后结果为number类型

"123"-123 = 0

           字符串与其他任何类型的数据进行"+"运算,所进行的字符串的连接运算,最后的结果为string类型

null+”123”+undefined+”abc”+123+”fgh”+true = ”null123undefinedabc123fghtrue”

            true与数值进行想加减,将自动转换为1,然后参与运算,最后结果为number类型!

true+true+1 = 3

          false与数值进行相加减,将自动转换为0然后参与运算,最后结果为number类型!

 

true+false+1=2

 

          nullnullnull与数值相加减,null的值始终为0,最后结果为number

 

null+null+1 = 1

 

        undefined与数值相加减,最后的结果始终为NaN

null+undefined+true+1 = NaN 

         基本转换

        string()

        将其他类型的值转换为string类型 

String(280)+ String(true) = “280true

 

         Number()

 

         将可以转换为数值的其他类型转换为number类型

Number(”123”)+Number(true) +Number(false) +Number(null) = 124

          Boolean()

           将其他类型的值转化为boolean类型!除了0nullundefinedNaN“”转换后的结果为false外,其他的值都将被转换为true

 

String(“123”+Boolean(0)+Boolean(null)+Boolean(“ab”)) = “123falsefalsetrue”

 

           提取转换

          parseInt(string,n)

          该函数将string字符串参数中最前面能够转换成整型数值的子字符串转换为数值!

 

          其中参数n用来指定字符串参数将以什么进制来进行转换,可以是281016以及2~32之间的任意数值,如果不指定该参数,则默认以10进制来进行转换,转换后的值都将以十进制的形式存在!(注意:当不指定n参数时,如果字符串的首字符为数字0,将会按照8进制进行转换!)
   
string字符串首部不存在数字子串时,该函数最终返回NaN!

parseInt(“100.23abc”) = 100
parseInt(“+100.23abc”) = 100
parseInt(“-100.23abc”) = -100
parseInt(“0100.23abc”) = (0100)8 = 64
parseInt(“100.23abc”,2) = (100)2 = 4
parseInt(“100.23abc”,16) = (100)16 = 256
parseInt(“100.23abc”,8)= (100)8 = 64

 

          parseFloat(string)

          该函数将string字符串参数中最前面能够构成实数的字符串转换为数值

           当string字符串收不不存在数字字符串时,改函数最终返回NaN

parseFloat(“123.23abc”) = 123.23
parseFloat(“+123.23abc”) = 123.23
parseFloat(“-123.23abc”) = -123.23
parseFloat(“123.23.34ab”) = 123.23
parseFloat(“.123.23.34ab”) = 0.123
parseFloat(“0123.adf”) = 123

          eval(string_expression)

          该函数将计算字符串表达式的值并返回

          如果字符串不是一个合法的表达式,将会发生异常,我们可以通过try…catch语句来判断此种情况的发生!

 

eval(“3+3+3+3+3*10”) = 42
eval(“3+3+4+(3+2)*10”) = 60
eval(“-3+4+3+4*10/2”) = 28
eval(“3>2”) = true
eval(“3++34-2”)              //将会引发异常!

 

 

 

 

 

 

 


以上是关于JavaScript的基础知识的主要内容,如果未能解决你的问题,请参考以下文章

30秒就能看懂的JavaScript 代码片段

常用Javascript代码片段集锦

48个值得掌握的JavaScript代码片段(上)

如何将此 JavaScript 代码片段翻译成 Parenscript?

代码片段使用复杂的 JavaScript 在 UIWebView 中插入 HTML?

javascript 用于在节点#nodejs #javascript内设置react app的代码片段