背景介绍
JavaScript:是脚本语言。是一种轻量级的编程语言。它是可插入HTML页面的编程代码,JavaScript插入HTML页面后,可由所有的现代浏览器执行。
JavaScript的诞生
1994年,网景公司开始考虑考虑开发一种客户端脚本语言来解决简单的处理问题,为即将在1995年发行的Netscape Navigator 2.0浏览器开发一个称之为LiveScript的脚本语言,以便在浏览器和服务器(本来要叫它LiveWire)端使用它,实现页面与使用者的互动。
当时网景公司正与sun公司合作,而sun公司正准备推出java语言,为了利于Java这个因特网时髦词汇,网景公司将这门语言命名为了JavaScript。
1997年,以JavaScript1.1为蓝本的建议被提交给了欧洲计算机制造商协会
(ECMA,European Computer Manufactures Association)进行标准化.
经过数月的努力完成了ECMA-262——定义了一种名为ECMAScript的新脚本语言的标准。
第二年,ISO/IEC(国标标准化组织和国际电工委员会)也采用了ECMAScript作为标准(即ISO/IEC-16262)。ECMAScript往往被称为JavaScript或JScript,但实际上后两者是ECMA-262标准的实现和扩展。ECMAScript是一个重要的标准,但它并不是JavaScript唯一的部分,当然,也不是唯一被标准化的部分。
JavaScript的组成部分
核心(ECMAScript):由ECMA-262定义,提供核心语言功能;
文档对象模型(DOM):提供访问和操作网页内容的方法和接口;
浏览器对象模型(BOM):提供与浏览器交互的方法和接口。
JavaScript的数据类型
数据类型:
基本数据类型/值类型/原始数据数据:
数值类型 Number
字符串类型 String
布尔值类型 Boolean
未定义 undefined 特殊的undefined,在使用var声明变量但未对其进行初始化时,变量的值就是undefined
空值 null 特殊值就是Null,因为从逻辑上看,null是一个空的对象指针,所以当我们使用typeof操作符检测null值(下面会提及检测数据类型的方式),会返回“object”
复杂数据类型/引用类型/对象数据类型:
数组 Array
对象 Object
函数 function
其他
JavaScript数据类型的判断方式
typeof 数据
typeof(数据)
分辨对象的精确类型:Object.prototype.toString.call(分辨的目标) = [Object 类型]
JavaScript数据类型的转换
转字符串类型
使用+进行字符串拼接 隐式转换
使用toString方法 强制转换 <font color=>null和undefined不适合这个方法
使用String方法 强制转换
使用toFixed方法 强制转换主要的作用不是转为字符串而是保留几位小数
字符串转数字
使用算术运算符 隐式转换 如果字符串无法全部转为数字的话,则会转为NaN
使用Number()方法 强制转换 如果字符串无法全部转为数字的话,则会转为NaN
使用parseInt()方法 强制转换
使用parseFloat()方法 强制转换
使用Math.round() 强制转换 严格转换,不允许出现任何非数字的字符,否则NaN;取最近的整数转换为布尔值
转为布尔值
任何数据类型使用Boolean()方法都会转为布尔值,布尔值类型只有两个数值,true和false
其他数据类型中常见的false
字符串中的空字符串
undefined
NaN
Null
数字0
NaN(No a Number)的两个特点:
NaN与任何值都不相等包括自己本身
任何涉及NaN的操作都会返回NaN