<html>
<head>
<script>
function fun1(){
alert("第一次");
}
function fun2(){
alert("第二次");
}
window.onload = function(){
var one = document.getElementById("one"); one.onclick = function(){
fun1();
fun2();
}
function addevent(obj,types,fns){
if(typeof obj[types]!= "function"){
obj[types] = fns;
obj[types];
}
else{
var old = obj[types];
obj[types] = function(){
old();
fns();
}
}
}
addevent(one,"onclick",function(){
alert("第三次");
})}
</script>
</head>
<body>
<input type = "button" value = "改变" id = "one">
</body>
</html>(1)求给哥哥帮忙解释obj[types]是什么意思?在调用函数的时候addevent(one,"onclick",function()第二个参数传进去的是字符串啊,obj[]的[]里面放个字符串是什么意思啊?
(2)我在燕山大学读书,自诩为高校,TM我问了好几个被公认为有实力的老师,他们均表示没时间(其实就是不会)这大学教育都是TM的什么啊,问啥啥不会,都是垃圾,求哪位哥哥帮帮忙,小弟新手
<head>
<script>
function fun1(){
alert("第一次");
}
function fun2(){
alert("第二次");
}
window.onload = function(){
var one = document.getElementById("one"); one.onclick = function(){
fun1();
fun2();
}
function addevent(obj,types,fns){
if(typeof obj[types]!= "function"){
obj[types] = fns;
obj[types];
}
else{
var old = obj[types];
obj[types] = function(){
old();
fns();
}
}
}
addevent(one,"onclick",function(){
alert("第三次");
})}
</script>
</head>
<body>
<input type = "button" value = "改变" id = "one">
</body>
</html>(1)求给哥哥帮忙解释obj[types]是什么意思?在调用函数的时候addevent(one,"onclick",function()第二个参数传进去的是字符串啊,obj[]的[]里面放个字符串是什么意思啊?
(2)我在燕山大学读书,自诩为高校,TM我问了好几个被公认为有实力的老师,他们均表示没时间(其实就是不会)这大学教育都是TM的什么啊,问啥啥不会,都是垃圾,求哪位哥哥帮帮忙,小弟新手
js的对象模式是集合,即key-value的模式
obj["a"]写法与obj.a效果相同
types 就等于onclick
obj[types]就等于 one.onclick
至于传参错不错 那是传参的问题
function addevent(obj,types,fns){
if(typeof obj[types]!= "function"){//如果obj["onclick"]= obj.onclick 不是function
obj[types] = fns;
obj[types];
}else{
var old = obj[types]; //old保存旧操作
obj[types] = function(){ //建立一个新的function 依次执行旧操作,新操作,并重新绑定
old();
fns();
}
}
}
adde
obj.types 相当于 obj["types"],也就是直接访问用obj.types,通过传入一个字符串调用则用obj[types]