javaweb7

来源:互联网 发布:37传奇霸业炼体数据 编辑:程序博客网 时间:2024/06/05 17:41

function 对象

function add(a, b){
a++;
b++;
return a+b;
}
var test = add;//引用变量的赋值

add(5,6);//执行同一个函数对象!
test(6,7);//执行同一个函数对象!

add = null;
add(4,5);

test变量与add变量引用同一个函数对象了。

以上就是一个函数对象;
1 add 函数名是一个”引用变量”, 引用”函数对象”的
“引用变量”
2 函数本身是一个对象,函数中包含函数的计算步骤

函数的语法:

function 函数名(参数1,参数2…){
//函数体,封装函数的计算过程
return 函数值;
}

函数的动态参数问题
1 JS函数“没有重载”!
A 函数参数传递规则:
1) 没有接收实际参数的参数变量值是 “未定义”
2) “未定义”参与数学运行结果是 NaN
B JS 函数中有隐藏的内置对象arguments,是一个
数组对象,自动接收所有的函数参数。
利用 arguments “模拟”函数的重载,处理多个函数参数

函数的返回值问题
0 函数不用声明返回值
1 函数总有返回值,默认是 “未定义”!
2 可以在函数中可以使用return语句,返回一个值
3 return 语句没有返回值时候,返回“未定义”

匿名函数:
var fun = function(a,b){
return a+b;
};
等价于:
function fun(a, b){
return a+b;
}
匿名函数用途
var ary=[3, 1, 5, 1, 67, 55];
ary.sort(function(v1,v2){return v1-v2;});

eval 是重要函数
1 动态执行 “表达式” 得到结果
var result = eval(“表达式字符串”);

建议,使用 () 减少异常var result = eval(“(表达式字符串)”);如果表达式有错误,会抛出异常对象!

2 动态执行 “代码块”

eval("代码块字符串")

将字符串”[3,4,5,6]” 转换为数组对象(使用eval函数)

var ary = eval(“([3,4,5,6])”);

Java 对象
内置对象:String Number Array Function …
外部对象:浏览器提供的对象
DHTML
|– window (也称为:浏览器对象BOM)
|– history
|– location
|– …
|– document(也称为:文档对象,DOM对象)

学习JS的外部对象包括:
BOM:浏览器对象 window
DOM:文档对象 document

BOM
location 对象代表地址栏(重点)
常用属性:location.href
修改href属性可以实现 页面的跳转
location.href = “demo02.html”

screen 对象(比较重要)
获取当前屏幕的信息:宽高等

history 对象(比较重要)
代表浏览器的浏览器历史记录。

navigator(重要):代表当前浏览器,可以获取浏览器信息
navigator.userAgent: 可以用于检测浏览器版本

方法
重要 alert() confirm()

最重要的:启动定时器方法!(启动子线程)
setTimeout()
clearTimeout()

setInterval()
clearInterval()

在适当时候执行一次的方法
window.setTimeout(函数对象,延迟时间毫秒)
返回值是 “定时器ID”
在延迟 n个毫秒以后执行 函数一次。
clearTimeout(定时器ID)
清除定时执行。作用清除setTimeout设置的定时任务。

按照一定周期反复执行计划任务
setInterval(匿名函数, 间隔时间毫秒)
返回值是定时器ID

clearInterval(定时器ID)
清除计划定时任务。

DOM = 文档对象 = document

w3c(标准) DOM 与 HTML DOM

w3c(标准) DOM API 使用繁琐
nodeName nodeType
s.childNodes[0].nodeValue

HTML DOM 的API 更加简便!
s.innerHTML

0 0