您的位置:首页 > Web前端 > JavaScript

My JavaScript's relevant knowledge

2011-02-17 17:25 260 查看
1 链接

function over(object)

{

object.color = "red";

}

function out(object)

{

object.color = "blue";

}

<font style="CURSOR:hand" onclick="window.location.href='www.google.com'" onmouseover="over(this)" onmouseout="out(this)"> GOOGLE</font> 这里this表示font的对象 location 为位置对象

2 定时器

var sec = 5;

var timeId = setInterval("count();", 1000); //每隔一秒执行count()

function count()

{

if(sec>0)

{

//setTimeout("alert('OK!');", 7000); //7秒钟后执行,第一参数以字符串来调用函数

document.getElementById("num").innerHTML = sec--; //id为num的内嵌的HTML文本的值+1

}

else

{

clearInterval(timeId);

location.href="www.google.com";

}

}

function stopCount()

{

clearInterval(timeId);

}

3 返回

<a href="#" onclick="history.back();return false;">返回</a>

(window.hitory.back(-1))

4 获得焦点

<body onload="document.forms[0].elements[0].focus();">

5 两种类型cookie

1)持久性cookie,会被存储到客户端的硬盘上

2)会话cookie,不会存储到客户端的硬盘上,而是放在浏览器进程所处的内存当中,当关闭浏览器时自动销毁(session)

6 收缩列表

function turn()

{

var m = document.getElementById("change"); /button

var n = document.getElementById("table");

if(m.value == "收缩")

{

n.style.display = "none"; //CSS

m.value = "展开 ";

}

else

{

n.style.display = "block";

m.value = "收缩";

}

}

7 全选checkBox

function selectAll()

{

var s = document.getElementsByName("checkbox");

var m = document.getElementsByName("all")[0];

if(m.checked)

{

for(var i = 0; i < s.length; i++)

{

s[i].checked = true;
}

}

else

{

for(var i = 0; i < s.length; i++)

{

s[i].checked = false;
}

}

}

8 所有函数都是Function。Function对象接收的所有参数都是字符串类型的,其中最后一个参数就是要执行的函数体,而前面的参数则是函数真正需要接收的参数。

new Function("name", "name1", "alert();")

每个函数都有一个隐含对象arguments (数组),表示给函数实际传递的参数,都有一个length属性,表示该函数期望接收的函数参数的格式。

9 javascript有五种原始数据类型:Undefined(值:undefined,如果没有声明返回值,变量未定义,则返回undefined),Nul(null undefined是null中派生出来的),Boolean(false,true),Number(),String(string)

typeof + 变量名字:用于变量的数据类型,返回值(5个):undefined,boolean,number,string,object(对象,均继承自Object)

三种强制装换:Boolean(value) Number(value) String(value)

10 在函数中定义的变量,加var表示局部变量,不加var表示全局变量

11 可以动态添加对象的属性。

var object = new Object;

object.username = "jomedy"; //添加属性 /

delete object.username; // 删除object类的username的属性

12 定义数组 调用sort方法,传入比较规则,可以排序

1)var array = new Array(); array.push(1);

2) var array = [1,3];

12:var object = {username : "zhangsan", password : "123"}; //添加对象

13 工厂方式创建对象

function createObject(username)

{

var object = new Object();

object.username = "zhangsan";

object.get = function()

{

alert(this.username);

}

return object;

}

var object = createObject();

object.get();

//让一个函数被多个对象所共享,而不是每一个对象拥有一个函数对象

function get()

{

alert(this.username);

}

function createObject(username)

{

var object = new Object();

object.username = username;

object.get = get;

return object;

}

var object = createObject();

object.get();

14 构造函数创建对象

15 原型prototype创建对象 (看网摘里有)

如果使用原型方式对象,那么生成的所有对象会共享原型中的属性,这样一个对象改变了该属性也会反映到其他属性中。(注意:基本数据类型不是)

16 原型+构造函数创建对象

对象之间的属性互不干扰

17 动态原型创建对象

在构造函数中通过一个标志量,让所有对象共享一个方法,而每个对象拥有自己的属性

18 继承(看网摘里有)

1)对象冒充

2)call方法,是Function对象中的方法,因此我们定义的每个函数都拥有该方法,可以通过函数名来调用该方法,call方法的第一个参数会被传递给函数中的this,从第2个参数开始,逐一赋值给函数中的参数。

3)apply方法,与call类似,但第2个参数,是一个数组

eg function Child(username, password)

{

Parant.apply(this, new Array(username));

this.password = password;

this.sayHello = function()

{

alert(this.password);

}

}

4)原型链(无法给构造函数传递参数)

5)混合方式

19 对于JsUnit来说,其setUp和tearDown方法与JUnit的运行原理是不同的,JUnit中的setUp和tearDown之间是没有关系的,也就是说不同的testCase运行在不同的测试对象之中,而JsUnit的各个testCase是运行在同一个测试页面中,因此setUp和tearDown会针对同一个变量进行操作。

setUpPage函数只执行一次(在页面加载后),类似于JUnit的@beforeClass (注意:无@afterClass对应的函数)

setUpPageStatus = "complete" 必须放在setUpPage函数的最后一行,告诉JSUnit已经执行完毕
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐