问答详情
源自:10-1 编程挑战

关于函数表达式问题?

如本次编程挑战目的是实现点击某li块显现该li块对应的div块而影藏其余2个div块,而实现影藏的div块的js代码核心为2个for循环以及2个函数表达式,第一个表达式为:widnow.onload=function(){//代码}

而第二个表达式为: oLis[i].onclick = function() {//代码};

由于进阶篇并没有讲函数表达式,所以经过百度发现想要使函数运行也得函数调用譬如:

var a=function(){console.log("hello!")};

这样子并不会使得代码运行,但是只要加上:

a();则编译器立马打印hello!

对于 oLis[i].onclick = function() {//代码};只能理解为oLis[i].onclick鼠标点击后会立即触发后边的function代码,所以我们不用oLis[i].onclick(参数)因为参数就是鼠标点击。

但是widnow.onload=function(){//代码}怎么使得function里的代码运行的?这里没有可触发的window.onload(参数)的参数,也没有类似于a()这样的函数调用,请问是怎么运行的?

提问者:慕粉3988711 2016-10-20 21:27

个回答

  • 小威_0004
    2016-10-21 17:12:55
    已采纳

    每次刷新加载网页的时候,会自动调用 windows.onload

  • 慕粉3988711
    2016-10-21 20:27:12

    我刚刚又去百度了一下window.onload这句词法意味着页面加载完,就去执行;我们提交完代码开始运行,首先碰到widnow.onload=function(){//代码},开始加载页面,页面加载完后立即执行(即window.onload)其实就相当于window.onload();于是就完成了此次的任务。