js代码看不懂

JavaScript018

js代码看不懂,第1张

你好,首先你要清楚上面代码中addEventListener是给一个元素绑定了一个鼠标移入事件。

而这里需要理解一个问题就是【事件冒泡】,正常情况下,任一一个子元素触发事件都会冒泡到父元素上,这时我们如果想知道真正触发事件的是哪个元素,就可以通过 e.target 来确定。例:parentdiv有p和span两个子元素,结构如下:

<div id="parentdiv">

    <p>我是P标签</p>

    <span>我是span标签</span>

</div>

基于以上结构,当鼠标移到p标签上时,e.target得到的就是p标签这个元素,移到span上同理。

至于showTooltip方法,从上面的代码来看就是一个简单的函数调用,传入了四个参数而已。具体功能没有showTooltip的函数体,看不出是做什么的,不过从命名可以猜测,就是在当前触发事件的元素旁边显示一个工具提示标签,显示一些提示信息。

希望能对你有帮助,如有其它疑问,欢迎追尾,望采纳~~

function makePy(str){

if(typeof(str) != "string")// 判断传入参数str是否为字符串

throw new Error(-1,"\u51fd\u6570makePy\u9700\u8981\u5b57\u7b26\u4e32\u7c7b\u578b\u53c2\u6570!")// 传入参数不是字符串, 抛出异常提示"函数makePy需要字符串类型参数!"(后续代码不再执行)

var arrResult = new Array() // 定义数组arrResult

for(var i=0,len=str.lengthi<leni++){// 循环传入字符串str中的每个字符

var ch = str.charAt(i) // 依次取字符串str中的字符

arrResult.push(checkCh(ch)) // 对取得的字符调用checkCh函数, 并将返回值添加到数组arrResult中

}

return mkRslt(arrResult) // 对数组arrResult调用mkRslt函数

}

这里, 有两个函数checkCh, mkRslt具体如何不知道. 所以, 此段代码意义就是: 定义函数makePy, 先将传入的字符串参数中的每个字符进行checkCh调用处理, 并将处理返回值依次存入一个数组中, 最后将mkRslt函数对上面的数组进行处理的返回值返回给调用者.