JavaScript
一、组成
- ECMAscript
- DOM
- BOM
二、特点
- 脚本语言、解释型语言
- 依赖浏览器内置的js解释器
- 嵌入HTML页面中
- 不需要编译
- 基于对象、基于原型
- 弱类型
- 跨平台、安全(不能访问本地磁盘)
三、引入方式
<script>js代码<script>
- 引入外部js文件
<script type="text/javascript" src="xx.js"></script>
- 一般放在body元素中
- 区分大小写
四、常用函数
window.alert()显示一个提示框
window.document.write(可变长参数)在网页当前位置写内容
五、变量
变量是全局对象的属性
1.声明并初始化变量
var 变量名 = 值
弱类型,无特定类型,可初始化为任意值
不初始化,类型为undefined
2.分类
原生数据类型:number、string、boolean、undefined、null
引用类型:Array、Date、Number、Boolean、
Global、Function、String、Object、Math
3.注意
JS中的类型是跟值关联的,而非变量
在同一个函数中,JS不会隔离变量的作用域。
函数体内有效,无块作用域
六、运算符
逻辑运算符中没有
""
、"&"
字符串是基本数据类型,可直接比较(ASCII码)
七、流程控制语句
switch中case可以是表达式,可以用于字符串中
for…in语句
用于枚举对象的属性或者数组的元素
for(value in [objectarray])
statement;
in运算符
- 如果指定的属性存在于指定对象中,则返回true
- prop in objectName
- prop是指一个string类型的属性名或者number类型的数组索引
- 对象(包括函数)只有在创建后才有属性
八、Function对象
1.定义1
function functionName(arg1,...){
body;
[return xx;]
}
2.定义2
functionName = new Function([arg1,[...,argN,]],body);
3.使用
- 包括括号:返回函数执行结果,若无定义return,则返回undefined
functionName(arg1,...);
- 不包括括号:返回function对象(函数文本)
functionName;
注意
- 参数不需要类型,不需要指定返回值类型,因为都是var,return可有可无
- 类似于java中的可变长参数
- 内部用arguments数组接收传递的参数
- 写形参是为了方便使用参数值罢了
- 没有重载(同名函数会覆盖前者)
九、Array对象
创建数组
var arrs = new Array(); var arrs = new Array(20); var arrs = ["aa","bb"];
具有栈和集合的特性,可动态增长
十、Global对象
window.parseInt()从字符串中取出整数
window.parseFloat()从字符串中取出浮点数