JavaScript基础1——基本语法和数据类型

来源:互联网 发布:windows系统修复工具 编辑:程序博客网 时间:2024/05/30 04:06

JavaScript实现

一个完整的JavaScript实现由三个不同部分:
1. 核心(ECMScript)
2. 文档对象模型(DOM)
3. 浏览器对象模型(BOM)

注意:*ECMScript与Web浏览器没有什么依赖关系,常见的Web浏览器只是ECMScript实现的宿主环境之一*,其他的有(Node,Adobe Flash)

宿主环境不仅提供了基本的ECMScript实现,同时提供了该语言的扩展,一边语言与环境之间对接交互。这些扩展(如:DOM),则利用ECMScript的核心类型和语法提供更多具体的功能,来实现针对环境的操作。


JavaScript基本概念

语法—-(js是一种弱类型语言)

1、区分大小写、标识符、注释(略)
2、严格模式,它是一个编译指示,告诉js引擎切换到严格模式,是为了不破坏ECMScript3语法而特意选定的语法。
注意:严格模式下,js的执行结果会有很大不同。(支持严格模式的浏览器:IE10+、Firefox4+、Chrome)
3、相等和不等操作符(==、!= 、=== !==)
最早的ECMScript中的相等和不等操作符会在执行比较之前,先将对象转换成相似的类型。后来有人提出这种转换是否合理,因此,就出现了很奇葩的解决方案:相等和不相等——先转换再比较,全等和不全等——仅比较而不转换
4、switch中的case条件可以是变量

数据类型

5种简单数据类型(基本数据类型):
Undefined——变量声明但是没有进行初始化
Null——表示空对象指针(也就是说可以作为object的初始化,不是基本类型的值)
Boolean、
Number—— 注意:3000/0….NaN,即非数值(not a number)表示一个本来要返回数值的操作数未返回数值的情况(这样就不会抛出异常),不会影响其他代码的执行
String

1种复杂数据类型:Object(一组无序的键值对组成)
Object其实是一组数据(属性)和功能(方法)的集合.可以通过var obj={}或者通过var obj = new Object()来创建.
Object类型是所有它的实力的基础。即Object类型所具有的任何属性和方法也同样存在于更具体的对象中
如:
constructor——保存着用于创建当前对象的函数,即构造函数,对于var obj = new Object()而言是Object()

hasOwnProperty(propertyName)——用于检查给定的属性在当前对象实例中(而不再实例原型中)是否存在。
isPrototypeOf(object)——用于检查传入的对象是否是传入对象的原型。
toLocaleString()——返回对象的字符串表示,该字符串与执行环境中的地区对应
toString()——返回对象的字符串表示。
valueOf()——返回对象的字符串、数值或布尔值表示。通常与toString()的返回值相同。

函数

参数理解

ECMScript函数不介意传递进来多少个参数,也不管传递过来的参数类型。即,如果定义的函数只接收两个参数,在调用这个函数时也未必传递两个参数,可以是一个,两个,甚至三个,或者不传递参数。

解释:函数的参数在内部是用一个数组来表示的,函数接收到的始终是这个数组,而不关心这个数组中包含哪些参数。在函数体内可以通过arguments对象来访问这个参数数组,从而获取传递给函数的每一个参数。正是由于这个特点,说明了明明的参数只是为了提供便利,但不是必须的。

没有重载

ECMScript函数不能像传统意义那样实现重载,而在Java语言中却可以为一个函数编写两个定义,只要这两个定义的签名(接收参数类型的数量和类型)不统即可。如果定义了两个名字相同的函数,则后定义的函数有效。

0 0
原创粉丝点击