//根据id获取一个元素节点 var div1 = document.getElementById("div1") //根据标签名获取一堆节点的集合 var li1 = document.getElementsByTagName("li"); //根据class获取一堆元素节点 var div2 = document.getElementsByClassName("content");
//使用css选择器选择第一个匹配的元素节点 var d1 = document.querySelector(".content") //根据css选择器选择一批能够被匹配到的所有的元素 var d1 = document.querySelectorAll(".content")
//实际上传什么,就要把这个参数当成什么来用 //要是传个方法就要在方法里找个合适的地方调用一下 var callback = function(fun){ console.log(fun) }
var test = function(fun){ console.log("before"); fun(); console.log("after"); }
//你知道需要传方法却传了一个数字,更定不能调用,就会报错 test(1) VM1038:2 before VM1038:3UncaughtTypeError: fun is not a function at test (<anonymous>:3:5) at <anonymous>:1:1 test @ VM1038:3 (anonymous) @ VM1060:1
var callback = function(){ console.log("I am callback!") } test(callback);
//结果 VM1038:2 before VM1151:2 I am callback! VM1038:4 after
//callback就是个方法的名字 var callback = function(data){ console.log("I am callback!"+data) }
var test = function(fun){ console.log("before"); fun(); console.log("after"); }
var test = function(fun){ console.log("before"); var i = 10; fun(i); console.log("after"); } //可以直接传名字 test(callback) VM1296:2 before VM1255:2 I am callback!10 VM1296:5 after
//也能直接传个方法体进去 test( function(data){ console.log("I am callback!"+data) } )
VM1296:2 before VM1363:2 I am callback!10 VM1296:5 after