<div id="a"></div>
<script>
function K(a,b){
return b=='css'?document.querySelectorAll(a):(
b=='tag'?document.getElementsByTagName(a):(
b=='class'?document.getElementsByClassName(a):
document.getElementById(a) ))
}
Function.prototype.html=function (a) {this.innerHTML=a}
K("a").html("1");
</script>
第一次接触这些东西,不解。
本人知道语法有很大错误,但 Google Baidu 了很久, W3Schools 能看懂的部分也没写。
望指教!
这句其实是给
Function
类的对象添加方法html
,哪些属于Function
类呢? 所有函数属于Function
类.这样的代码才是能工作的。
你的代码中
K("a")
返回的不是一个函数而是一个NodeList
或者HTMLElement
类型的数据,他们都不属于Function
类,所以不能访问添加给Function
类的方法。所以要给
NodeList
和HTMLElement
添加你想要的方法(或者你自己在K函数中统一成某种相同的类型,就像jQuery做的那样,就不写例子了)