下载此文档

js笔试题.doc


文档分类:通信/电子 | 页数:约4页 举报非法文档有奖
1/4
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/4 下载此文档
文档列表 文档介绍
?123456789101112varlength=10functionfn(){    alert()}varobj={    length:5,    method:function(fn){        fn()//?        arguments[0]()//?    }}(fn)这里的坑主要是arguments,我们知道取对象属于除了点操作符还可以用中括号,这里fn的scope是arguments,即fn内的this===arguments,调用时仅传了一个参数fn,因此length为1。 2,函数表达式具名(函数声明同时赋值给另一个变量)或函数声明立即执行时,名仅在该函数内可访问?123456~function(){    alert(typeofnext)//?    ~functionnext(){        alert(typeofnext)//?    }()}()外层匿名函数自执行,打印next,接着内层具名函数自执行。会发现具名的next仅在其自身函数体内可访问,即输出为function。外面是不可见的,typeof就为undefined了。(注:此题IE6/7/8中输出为functionfunction,标准浏览器为undefinedfunction)同样的情况也发生在将具名函数赋值给一个变量时,如下?1varfunc=functiona(){2345    alert(typeofa)}func()//?alert(typeofa)//?这条规则是标准中(ES3/ES5)都已明确指出,但IE6、7、8没有严格遵从。可参见w3help的分析或李松峰老师的翻译《命名函数表达式探秘》 3,给基本类型数据添加属性,不报错,但取值时是undefined?123a==4alert(a+)//?变量a为数字3,给其添加prop属性,值为4(奇怪吧在JS中这是允许的,且不会有语法错误)。然后alert出a+。结果是NaN。,3+undefined为NAN。举一反三,给字符串添加属性?123str='a'='b'alert(str+)//?结果呢? 4,隐式的全局变量?123vara=1functionfunc(){    a=b=24567}func()alert(a)alert(b)//? JS中不用var声明的变量默认是全局变量,而这里的连等使的情况更加隐蔽。这里的b是全局的,因此func外可以访问。 5,变量声明早于代码运行(ScopingandHoisting)

js笔试题 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数4
  • 收藏数0 收藏
  • 顶次数0
  • 上传人drp539606
  • 文件大小49 KB
  • 时间2019-05-07
最近更新