JavaScript的组成
ECMAScript --JavaScript遵循的一套脚本语言标准
BOM --浏览器对象模型
~~~~ 通过BOM可以操作浏览器窗口
DOM --文档对象模型
~~~~ DOM可以把HTML看作是文档树,通过DOM提供的API可以对树上的节点进行操作
快速入门
书写格式
行内式
$$2. a标签的href里$1. 标签的属性οnclick=";"
$
页内式
~~~~
script标签,多数放在文档尾部
外链式
~~~~
Script标签,在src属性中写上路径
注释
同C
常见的输出方式
弹窗
~~~~
alert(’ ‘); --window.alert(’ ‘);
~~~~
prompt.(’ ‘); --prompt.alert(’ ‘); 弹出输入框
~~~~
confirm.(’ ‘); --confirm.alert(’ ‘); 弹出提示框
控制台
~~~~
console.log(’ ‘);
~~~~
console.warn(’ ‘);
~~~~
console.error(’ ‘);
向body中输出一个内容
~~~~
document.write(’ ‘); --window.document.write(’ '); ,可以写入字符串或者标签
基础语法
变量与常量
定义变量 var a=10; 未初始化的值为undefined
声明常量(仅限ECMAScript6) const PI = 3.14159;
数据类型
使用typeof anyVar 来查看
Number
包含整数和小数
最值 Number.MAX_VALUE Number.MIN_VALUE
无穷大无穷小 Infinity -Infinity
非法数字 NaN (Not a Number)
String
由单引号或双引号括起来
Boolean
任何非零数字,非空字符串,对象都是true; 0,’’,null和undefined是false
Null和Undefined
都是只有一个值,分别为null和undefined
undefined由null衍生而来
应用(复杂)数据类型
数据类型转换
转换成字符串
.toString()方法 可以有一个整数参数,返回对应进制的字符串,null和undefined不能用此方法
String(anyVar)方法
拼接字符串(同java)
转换成数字
Number(anyStringOrBooleanOrUndefinedOrNull) 非法的转成NaN,null是0,undefined是NaN
parseInt() (两个参数,第二个为进制,可缺省) parseFloat() (一个参数,只能解析十进制) 必须从第一位开始,匹配第一个有效数字
在字符串前加+,会等价于调用Number方法,加-变成相反数 也可以 anyString - 0
#####转换成Boolean
Boolean()
####运算符
大致同C
&~~~~&注意===运算符表示恒等,先比较数据类型再比较数值
代码块
在ECMAScript6中,大括号括起的表示一个代码块,作用同C
流程控制
选择结构
if --用法同C
switch --用法同C
循环结构
break continue --同C
while --同C
do-while --同C
for --同C
数组
创建数组
~~~~
var arr1=new Array(); 或 var arr1=[];
~~~~
var arr2=new Array(LENGTH);
~~~~
var arr3=new Array(1,2,3); 或var arr3=[1,2,3];
length
~~~~
数组的长度=数组名.length;(可以改变长度,可以直接对大于等于length的下标赋值)
下标访问
~~~~
arr[NUM];
函数
基本结构
function f(PARAMETERS){
;
}
//或
var f=function(PARAMETERS){
;
}
//或
var func=new function("console.log(‘1’); );
Window.arguments --在函数里存放传入的参数
return 函数返回值
匿名函数
function(){}
用在绑定事件的时候
document.onclick = function(){}
定时器
setInterval(function(){console.log(‘每秒一次’);},1000)
立即执行函数(闭包)
#####预解析
会把声明的变量和函数提到作用域的最前面
对象
对象是一组无序属性的集合,其属性可以包含基本值,对象和函数
对象的分类
内建对象
~~~~
由ECMAScript定义的对象,如Number,String等
宿主对象
~~~~
有js运行的宿主环境提供的对象,目前主要指浏览器,如DOM对象,BOM对象
自定义对象
创建对象的方式
对象字面量
var duixiang={
//添加属性和方法
}
new Object()创建对象
var obj=new Object();
//添加obj的属性和方法
工厂函数创建对象
//在函数里用new Object()方法返回一个对象
自定义构造函数
//就是自定义Object方法
function Example(var1,var2){
this.var1=var1;
this.var2.var2;
this.func=function(){
;
}
}
var obj1=new Example(VAR1,VAR2);
访问对象的属性与遍历
访问属性的两种方式
obj.name;
//或
obj[‘name’]
遍历
for(var key in obj){
obj[key];
}
删除
delete obj.name;
JavaScript事件
onClick事件
onChange事件
onSelect事件
onFocus事件
onLoad事件
onUnload事件
onBlur事件
onMouseOver事件
onMouseOut事件
onDblClick事件
其他事件
浏览器的内部对象
navigator对象
属性:
appName 浏览器的名称
appVersion 浏览器的版本
appCodeName 浏览器的代码名称
browserLanguage 浏览器所使用的语言
plugins 可以使用的插件
platform 所使用的平台 如win32等
cookieEnabled 浏览器cookie功能是否打开
document对象
- anchor锚对象<a name=…></>标记在HTML源代码中存在产生的对象
- links链接对象 <a href=…></>标记链接的一个超文本或超媒体的元素作为一个特定的URL
- form窗体对象
windows对象
常用方法
open(url,windowName,parameterlist) 创建一个新窗口,3个参数分别用于设置URL地址,窗口名称和窗口打开属性
close() 关闭一个窗口
alert(text)弹出窗口,显示text
confirm(text) 弹出确认域,text为窗口中的文字
prompt(text,defaulttext)弹出提示框
moveBy(水平位移,垂直位移) 将窗口移至指定的坐标
moveTo(x,y)
resizeBy(水平位移,垂直位移)
resizeTo(x,y)
back()页面后退
forward()页面前进
home() 返回主页
stop()停止装载网页
print()打印网页
status 状态栏信息
location 当前窗口的URL信息
### location对象
描述某一个窗口对象所打开的地址
history对象
浏览器的浏览历史