-
必须了解的JavaScript知识
- 正式名称ECMAScript
- JavaScript是一种基于对象和事件驱动并具有安全性能的脚本语言。目的是与html和java applet一起实现在一个web页中链接多个对象,与客户端交互的。
- JavaScript特点:基于对象,也被看做面向对象。以事件驱动的,对用户事前响应。具有非常高的安全性,不允许访问本地硬盘/不能将数据存入服务器。有跨平台性,强依赖浏览器。
- 与java不同。弱变量,x=1234;y=“4321”;变量在使用前可以不声明。在html中使用<Script></Script>,java用<applet></applet>。动态编译。
-
编程规范
变量
显示命名:var 变量名; var 变量名1, 变量名2; 隐式声明:通过“=”声明。变量名=22; 变量名=“123”;避免所有字母大写 a = “URL”,因为js中不存在静态变量。
数据类型
六种。
整型:intN = 1; 字符串 strS = "sss"; 布尔型 blnB = true; 空值 null; 未定义,是一种状态与null不同;
对象:var myObject = {}
var myClass{
num:12
}
数组:
var star = new Array();
star[0]=1;
var star = {1,2};
var star = new Array(1,2,3);
表达式
表达式1
表达式2;
操作符
in:包含在一个表达式或对象中
var myObj = {
start = "a"
};
if(start in myObj){
}delete 删除数组元素,删除对象的属性
typeof 返回变量类型 。数字返回number,字符返回string,对象返回object.可以区分null和未定义
var start = {}
if(typeof(start) == "object"){}
void操作符?
数据转换
var myString = String(100);
var myNum = Number("100");
布尔值,在数字环境true为1,字符串环境true为“true”
条件和循环控制
for...in
var start = new object;
start.name = "a";
start.type = "x";
for(var startProp in start){
alert(startProp +"="+start[startProp]);
}
函数
声明
function func_name(parm1 , parm2){
retrun parm1;
}
可以将隐式函数赋值给变量:
func_var = function(parm1 , parm2){
retrun parm1;
}
调用
调用函数名:func_name(1,2); 调用变量func_var(1,2);
函数结束体后直接调用:
(function(parm1 , parm2){
retrun parm1;
})(parm1,parm2);
程序中有多个同名函数,位置靠后的函数自动覆盖靠前的函数
函数可以嵌套
function fun_parent(parm1 , parm2){
function func_sub(){}
retrun parm1;
}
对象
创建对象
var star = new Object;
var star = {};
添加属性
star.name = "aa";
显示属性
通过for....in..
查找属性
if(“Polaris” in star)
创建命名对象
star["polaris"] = new Object
star["polaris"].name = "a";
star["polaris"] = new star("a");
数组方法:
添加元素 concat返回链接新数组
var myArray = new Array();
myArray[0]=0;
myArray = myArray.concat(1);
join返回数组元素组成字符串
start.join(*),可以返回用*分割的
push/pop末尾添加删除,shift/unshift头添加或删除
错误处理
try {
}catch(errorObject){
}finally{}
onerror事件:
添加到window对象
window.onerror = errorHandler;
function errorHandler(){
}t
添加到image对象