JavaScript函数定义的常见注意事项小结

 更新时间:2014年09月16日 10:05:33   投稿:shichen2014  
这篇文章主要介绍了JavaScript函数定义的常见注意事项,包含了常见的错误及注意事项,需要的朋友可以参考下

本文就javascript函数定义的常见问题进行了总结。包含了初学者常犯的错误。分享给大家供大家参考。具体总结如下:

1. 函数声明的同时JS引擎还定义了一个与函数名同名的变量,我们在调用这个函数的时候实际上是在使用这个变量,且它可以在函数声明之前调用,例如

foo(); //这里实际上是使用了一函数变量 
function foo() { 
  alert('hello'); 
} 

2. 函数表达式,此时将匿名函数赋值给了一变量,此变量需在定义后使用,例如

foo(); //报错,未定义 
var foo = function() { 
  alert('hello'); 
} 

3. 函数表达式(with函数名),这种用法最好避免,此时非IE浏览器中该函数名只在内部可用,例如

bar(5); //报错,未定义 
var bar = function foo(n) { 
  if (n == 1) 
    return 1; 
  else 
    return n * foo(n - 1); 
} 
foo(5); //非IE报错,未定义 
bar(5); //正确 

4. 用Function构造函数定义,这种方式效率低,每次执行函数的时候,其函数体都会被解析一次。此外这样声明的函数是不会继承当前声明位置的作用域,它默认只会拥有全局作用域,例如

function foo() { 
  var bar = 'hello'; 
  return Function('alert(bar)'); //报错,全局变量bar未定义 
} 
foo()();

相信本文所述对大家javascript WEB程序设计的学习有一定的借鉴价值。

相关文章

  • js实现图片轮播效果学习笔记

    js实现图片轮播效果学习笔记

    这篇文章主要为大家详细介绍了js实现图片轮播效果的学习笔记,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • JS实现的车标图片提示效果代码

    JS实现的车标图片提示效果代码

    这篇文章主要介绍了JS实现的车标图片提示效果代码,涉及JavaScript鼠标事件触发页面元素遍历修改的相关实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-10-10
  • 基于JS实现翻书效果的页面切换样式

    基于JS实现翻书效果的页面切换样式

    在项目开发中经常遇到翻书的页面切换效果,基于js代码怎么实现的呢?今天小编给大家分享基于JS实现翻书效果的页面切换样式,需要的朋友参考下吧
    2017-02-02
  • 使用phantomjs进行网页抓取的实现代码

    使用phantomjs进行网页抓取的实现代码

    这篇文章主要介绍了使用phantomjs进行网页抓取的实现代码,需要的朋友可以参考下
    2014-09-09
  • JS面试之对事件循环的理解

    JS面试之对事件循环的理解

    这篇文章主要为大家介绍了JS面试之对事件循环的理解分析详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • 浅谈JS中几种轻松处理''this''指向方式

    浅谈JS中几种轻松处理''this''指向方式

    这篇文章主要介绍了浅谈JS中几种轻松处理'this'指向方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • 微信小程序使用wx.request请求服务器json数据并渲染到页面操作示例

    微信小程序使用wx.request请求服务器json数据并渲染到页面操作示例

    这篇文章主要介绍了微信小程序使用wx.request请求服务器json数据并渲染到页面操作,结合实例形式分析了微信小程序使用wx.request发送网络请求及返回结果渲染到wxml界面相关操作技巧,需要的朋友可以参考下
    2019-03-03
  • JS中动态添加事件(绑定事件)的代码

    JS中动态添加事件(绑定事件)的代码

    有时候为了更好的实现代码分离,不用把时间直接写到代码中。通过动态绑定事件即可。
    2011-01-01
  • thinkjs 文件上传功能实例代码

    thinkjs 文件上传功能实例代码

    ThinkJS 是一款面向未来开发的 Node.js 框架,整合了大量的项目最佳实践,让企业级开发变得如此简单、高效。接下来通过本文给大家分享thinkjs 文件上传功能,需要的朋友参考下吧
    2017-11-11
  • 微信小程序如何根据不同用户切换不同TabBar(简单易懂!)

    微信小程序如何根据不同用户切换不同TabBar(简单易懂!)

    小程序中我们可能需要根据不同的权限展示不同的tabbar,下面这篇文章主要给大家介绍了关于微信小程序如何根据不同用户切换不同TabBar的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-04-04

最新评论