亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

setTimeout用法

setTimeout用法

艷妮子Yeah 2016-09-02 19:28:25
這兩個寫法什么區別,為什么寫成第二種的時候不起作用1、var CountZeros=setTimeout(function() {?????? CountZero()?????? },1000)2、 var CountZeros=setTimeout("CountZero()",1000);
查看完整描述

1 回答

已采納
?
stone310

TA貢獻361條經驗 獲得超191個贊

第一種寫法是聲明匿名函數,相當于假如我給函數賦個名字abc,然后setTimeout(abc,1000),只是你那種寫法是匿名的

第二種寫法是字符串寫法,相當于內部執行了eval(),這種寫法你會發現有時能執行有時不能執行,因為字符串寫法只能捕獲到全局作用域,就是說CountZero這個函數必須放在全局作用域下才能被執行,

而setTimeout(abc,1000)這種寫法則既可以捕獲全局作用域,也可捕獲同一個局部作用域;

因此第二種字符串寫法是不推薦的,不規范而且功能上有限制,eval()也有安全問題

查看完整回答
1 反對 回復 2016-09-03
  • 1 回答
  • 0 關注
  • 1675 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號