My JavaScript's relevant knowledge

1 链接

function over(object)

{

object.color = "red";

}

function out(object)

{

object.color = "blue";

}

 

<font style="CURSOR:hand" οnclick="window.location.href='www.google.com'" οnmοuseοver="over(this)" οnmοuseοut="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="#" οnclick="history.back();return false;">返回</a>

  (window.hitory.back(-1))

4 获得焦点

<body οnlοad="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已经执行完毕

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值