JS参考手册:https://www.w3school.com.cn/jsref/index.asp
几点注意:
- JavaScript是一门客户端轻量级脚本语言。它运行在客户端的浏览器中,每一个浏览器都有JavaScript的解析引擎。
- 脚本语言:不需要编译,直接就可以被浏览器解析执行。
- 功能:用来控制html元素,让界面有一些动态的效果,增强了用户和html页面的互动。
- 1992年,Nombase公司,开发出全球第一门客户端脚本语言C--,专门用于表单的校验。后来(96年之后)更名为ScriptEase,形成了三足鼎立的局面。
- 1995年,Netscape(网景)公司,借鉴C--的思想,开发了一门客户端脚本语言:Livescript。后来,请来了SUN公司的技术专家,修改Livescript,并重新命名为Javascript。
- 1996年,微软抄袭了Javascript开发出了Jscript语言。
- 1997年,ECMA(欧洲计算机制造商协会)出面,就有了ECMAscript,制定了所有客户端脚本语言的标准。
- 所以,我们学习的JavaScript=ECMAScript+JavaScript特有的东西(BOM+DOM)
- java是强类型的语言(申请变量存储空间的时候定义的是什么数据类型后期就只能赋予什么类型的数据),javascript是弱类型的语言(申请空间的时候不用定义数据类型,后期可以放置任意类型的数据)。
与html结合的方式:
- 内部JS:在当前页面定义<script></script>,放在页面的任何位置都可以执行,但是前后顺序直接影响着执行的顺序。
- 外部JS:定义一个外部文件(通常建一个JS文件夹,里面放js文件),然后在需要的页面中导入<script src="地址"></script>
- 一个页面可以定义多个script标签。
数据类型:
- 原始数据类型:
- number:数字,表示整数/小数/NaN(not a number,不是数字的数字类型,注意赋值时一定不要写成了NAN)
- string:字符或者字符串,单引号或者双引号引起来
- boolean:true和false
- null:表示对象为空的占位符
- undefined:未定义。如果一个变量没有给定初始化值,则会默认被赋值为undefiend。
- 引用数据类型:数组、对象等。
- 如何判断变量的类型呢?使用typeof运算符来进行判断:typeof(变量名)
- js中的输出语句可以将内容输出到页面:document.write();
- 注意:用这个运算符输出null是属于object类型的,就当作一个小bug吧。
- 注意:在js中,如果运算数不是运算符所要求的数据类型,那么js引擎会自动将运算数转换成所需要的类型
- 在用【比较运算符】的时候,有两种比较方式:
- 类型相同的比较,直接比就可以了。字符串是按照字典顺序比较,字符靠后的较大。会逐个字符比较,直到分出顺序。
- 类型不同的比较,要先进行类型转换,再比较。示例如下:
对于全等于号===来说,会先进行类型判断,如果类型不相同,直接就输出false。因此,如果想忽略类型而只进行值的判断时,用===就不合适了。
函数对象
- js中如果定义了两个相同方法名的方法,不会报错,而是后面的会覆盖前面的。
- js中,方法的调用只与方法名有关,和参数列表无关,比如:方法定义了两个形参,调用时实参可以传两个,也可以传一个甚至一个都不传,还能传超过两个。如果不传,默认赋undefined值。那多传呢?
- 在方法声明中,有一个隐藏的内置对象(数组),arguments,封装了所有的实际参数。