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)

整型

整型数据,即我们通常所说的整数,如:1、23、100、200等等。

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

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

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

浮点型

浮点型数据,即我们通常所说的小数。如:3.14、12.34、100.5等等。

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

特殊数值

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

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

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

2. 字符串型

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

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

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

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

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

转义字符

Unicode码

含义

\b

\u0008

退格

\t

\u0009

横向跳到下一个制表位置

\n

\u000A

回车换行

\v

\u000B

竖向跳到下一制表位置

\f

\u000C

走纸换页

\r

\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

null与null、null与数值相加减,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类型!除了0、null、undefined、NaN、“”转换后的结果为false外,其他的值都将被转换为true。

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

 提取转换

          parseInt(string,n)

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

其中参数n用来指定字符串参数将以什么进制来进行转换,可以是2、8、10、16以及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的基础知识的更多相关文章

  1. 快速掌握JavaScript面试基础知识(三)

    译者按: 总结了大量JavaScript基本知识点,很有用! 原文: The Definitive JavaScript Handbook for your next developer interv ...

  2. 快速掌握JavaScript面试基础知识(二)

    译者按: 总结了大量JavaScript基本知识点,很有用! 原文: The Definitive JavaScript Handbook for your next developer interv ...

  3. javascript的基础知识及面向对象和原型属性

    自己总结一下javascript的基础知识,希望对大家有用,也希望大家来拍砖,毕竟是个人的理解啊 1.1 类型检查:typeof(验证数据类型是:string) var num = 123; cons ...

  4. JavaScript 之基础知识

    JavaScript 基础知识 JavaScript 是属于网络的脚本语言! JavaScript 被数百万计的网页用来改进设计.验证表单.检测浏览器.创建cookies,以及更多的应用. JavaS ...

  5. JavaScript对象基础知识总结

    1.什么叫JavaScript对象? 定义:名值对的集合.简单的讲就是容纳属性值和属性值的容器,这些属性可以是无序的,基本上JavaScript中所有的事物都可以看成对象. 拓展:我们经常说,数组也是 ...

  6. JavaScript语言基础知识8

    这篇文章是对前面学习的知识进行总结: 1.JavaScript支持多种数据类型,如数值类型.字符串类型.布尔类型等. 2.在JavaScript中,字符串是用引號括起来的字符系列,转义字符能够用来表示 ...

  7. JavaScript笔记——基础知识(一)

    <Script>标签属性 <script>xxx</script>这组标签,是用于在 html 页面中插入 js 的主要方法.它主要有以下 几个属性: charse ...

  8. javascript 正则表达式基础知识汇总

    正则表达式:对字符串中的信息实现查找.替换和提取操作.(不支持注释和空白,必须写在一行内)正则表达式的创建:包含在一对斜杠之间的字符(直接量语法)例如:var pattern = /s$/;     ...

  9. JavaScript事件基础知识总结【思维导图】

    另外附上来自Nicholas C.Zakas<JavaScript高级程序设计 第3版>中的跨浏览器兼容EventUtil对象. var EventUtil = { //注册事件 addH ...

  10. JavaScript对象基础知识

    1.对象所包含的元素一组包含数据的属性.如人的名字.书的价格和手机型号等.允许对属性中所包含的数据进行操作的方法. 2.引用对象的途径一个对象真正地被使用,可以采用以下几种方式.引用Javascrip ...

随机推荐

  1. 【并发编程】一文带你读懂深入理解Java内存模型(面试必备)

    并发编程这一块内容,是高级资深工程师必备知识点,25K起如果不懂并发编程,那基本到顶.但是并发编程内容庞杂,如何系统学习?本专题将会系统讲解并发编程的所有知识点,包括但不限于: 线程通信机制,深入JM ...

  2. Sublime Text 3 最新注册码激活码 和 Sublime Text 2 注册码

    Sublime是一款很好用的很轻巧的编辑器,堪称一代神级编辑器.此篇文章用于简单学习记录下神器的激活码,不作其他用途.如有侵权,请联系删除,谢谢~~   1.官方下载地址: http://www.su ...

  3. VRTK3.3.0-002获取手柄事件

    1.首先创建VRScripts空物体,用来存放脚本,在其下创建Right空物体并添加VRTK_ControllerEvents脚本 2.Right作为右手手柄,拖拽到[VRTK_SDKManager] ...

  4. shell常用正则表达式

    转载自: http://www.cnblogs.com/linhaifeng/p/6596660.html 和 http://www.blogjava.net/jasmine214--love/arc ...

  5. 洛谷P1002 过河卒

    关于蒟蒻的我,刚刚接触DP....   那么就来做一道简单DP吧.... 首先先看题: 题目描述 棋盘上AA点有一个过河卒,需要走到目标BB点.卒行走的规则:可以向下.或者向右.同时在棋盘上CC点有一 ...

  6. 字典排序permutation

    理论 C++ 中的next_permutation 一般作为正序全排列的使用规则,其实这个就是正序字典排序的实现. 比如我们要对 列表 [1,2,3]  做full permutation 一般使用递 ...

  7. spring tx:advice事务配置

    http://blog.csdn.net/bao19901210/article/details/17226439 http://blog.csdn.net/rong_wz/article/detai ...

  8. Ubuntu同时忘记用户密码和root密码

    在设置密码的时候,用到了小键盘,重启后再次用小键盘输入密码时,发现输入的并不是数字,而是其他符号.所以在设置关键信息的时候,小键盘还是得慎用啊. 解决方案: 在引导界面也就是开机倒计时的时候,按下 e ...

  9. 《java学习三》jvm性能优化-------调优

    常见参数配置 -XX:+PrintGC      每次触发GC的时候打印相关日志 -XX:+UseSerialGC      串行回收 -XX:+PrintGCDetails  更详细的GC日志 -X ...

  10. 初学Android,创建,启动,停止Service(五十八)

    Service跟Windows系统里的服务概念差不多,都在后台执行,它跟Activity的最大区别就是,它是无界面的 开发Service与开发Activity的步骤类似 1.定义一个继承Service ...