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程序设计的学习有一定的借鉴价值。
相关推荐
-
JavaScript的各种常见函数定义方法
本文详细讲述了JavaScript的各种常见函数定义方法,分享给大家供大家参考.具体分析如下: 首先看一下JavaScript最常见的四种函数定义: 用Function构造函数定义的函数,代码如下: var multiply = new Function('x', 'y', 'return x * y;'); 函数声明,这种方式也是最为常见的一种: function multiply(x, y) { return x * y; } 函数表达式,声明为匿名函数然后赋值给一变量,很常见的方式: va
-
javascript函数定义的几种区别小结
javascript函数的定义 1:调用关键字function来构造,如:function distance(x1,x2,y1,y2){var dx=x2-x1;var dy=y2-y1;return Math.sqrt(dx*dx+dy*dy);} 2:使用Function()构造函数var f=new Function*"x","y","return x*y");这行代码创建了一个新函数,该函数和你所熟悉的语法定义的函数基本上时等价的: fu
-
javascript学习笔记之函数定义
函数声明式 function funname( 参数 ){ ...执行的代码 } 声明式的函数并不会马上执行,需要我们调用才会执行:funname(); * 分号是用来分隔可执行JavaScript语句,由于函数声明不是一个可执行语句,所以不以分号结束. 函数表达式 var x = function( 参数 ){ ...执行的代码块 }; 函数表达式定义的函数,实际上也是一个匿名函数(这个函数没有名字,直接存储在变量中) * 函数表达式结尾是要加分号的,因为它是一个执行语句. Function
-
详细分析JavaScript函数定义
函数 几个要点: a).函数是javascript中的一等公民 (重要性) b).函数是一个对象 c).函数定义了一个独立的变量作用域 定义方式 a)命名函数: 除非在另一个函数内部定义,否则,命名函数是全局的. // 全局的命名函数 function add(x, y) { return x + y; } console.info(add(100, 200)); //300 b)匿名函数: 匿名函数通常赋值给一个变量,再通过变量调
-
JavaScript函数定义的常见注意事项小结
本文就javascript函数定义的常见问题进行了总结.包含了初学者常犯的错误.分享给大家供大家参考.具体总结如下: 1. 函数声明的同时JS引擎还定义了一个与函数名同名的变量,我们在调用这个函数的时候实际上是在使用这个变量,且它可以在函数声明之前调用,例如 foo(); //这里实际上是使用了一函数变量 function foo() { alert('hello'); } 2. 函数表达式,此时将匿名函数赋值给了一变量,此变量需在定义后使用,例如 foo(); //报错,未定义 var foo
-
JavaScript函数定义方法实例详解
本文实例讲述了JavaScript函数定义方法.分享给大家供大家参考,具体如下: JavaScript 函数定义方法 函数声明 在之前的教程中,你已经了解了函数声明的语法 : function functionName(parameters) { 执行的代码 } 函数声明后不会立即执行,会在我们需要的时候调用到. function myFunction(a, b) { return a * b; } 分号是用来分隔可执行JavaScript语句. 由于函数声明不是一个可执行语句,所以不以分号结束
-
javascript function(函数类型)使用与注意事项小结
本文实例讲述了javascript function(函数类型)使用与注意事项.分享给大家供大家参考,具体如下: 在ECMAScript中,Function(函数)类型实际上是对象.每个函数都是Function类型的实例,而且都与其他引用类型一样具有属性和方法.由于函数是对象,因此函数名实际上也是一个指向函数对象的指针. 学习要点: 1.函数的声明方式 2.作为值的函数 3.函数的内部属性 4.函数属性和方法 一.函数的声明方式 1.普通的函数声明 function box(num1, num2
-
JavaScript中几种常见排序算法小结
说明 写这个主要是为了锻炼自己,并无实际意义. 每个浏览器测试得出的数据会不一样.比如我用chrome 测试 一般快速排序都会最快,IE 则根据数组长度有可能希尔最快. 不要用太大数据去测试冒泡排序(浏览器崩溃了我不管) 如果有兴趣可以 下载测试页面 个人理解 冒泡排序:最简单,也最慢,貌似长度小于7最优 插入排序: 比冒泡快,比快速排序和希尔排序慢,较小数据有优势 快速排序:这是一个非常快的排序方式,V8的sort方法就使用快速排序和插入排序的结合 希尔排序:在非chrome下数组长度小于10
-
JavaScript 函数用法详解【函数定义、参数、绑定、作用域、闭包等】
本文实例讲述了JavaScript 函数用法.分享给大家供大家参考,具体如下: 初始函数 Function类型,即函数的类型. 典型的JavaScript函数定义: function 函数名称(参数表){ //函数执行部分 return ; } //注意:参数列表直接写形参名即可 return语句:return返回函数的返回值并结束函数运行 函数也可以看做数据来进行传递 参数列表相当于函数入口,return 语句相当于函数出口 函数可以作为参数来传递. function test ( a ) {
-
JavaScript函数的调用以及参数传递
JavaScript 函数调用 JavaScript 函数有 4 种调用方式. 每种方式的不同方式在于 this 的初始化. this 关键字 一般而言,在Javascript中,this指向函数执行时的当前对象. Note 注意 this 是保留关键字,你不能修改 this 的值. 调用 JavaScript 函数 函数中的代码在函数被调用后执行. 作为一个函数调用 实例 function myFunction(a, b) { return a * b; } myFunction(10, 2)
-
比较常见的javascript中定义函数的区别
比较常见的javascript中定义函数的区别主要通过以下三个方面给大家讲解,需要的朋友参考下吧 1:调用关键字function来构造 如: function distance(x1,x2,y1,y2) { var dx=x2-x1; var dy=y2-y1; return Math.sqrt(dx*dx+dy*dy); } 2:使用Function()构造函数 如: var f=new Function*"x","y","return x*y"
-
JavaScript 函数的定义-调用、注意事项
函数定义 函数语句定义 function(a,b){ return a+b; } 表达式定义 var add = function(a,b){return a+b}; //函数表达式可以包含名称,这在递归时很有用 var f = function fact(x){ if(x<=1) {return 1; }else { return x*faxt(x-1); } } 以表达式方式定义的函数,函数的名称是可选的.如果函数定义表达式包含名称,函数的局部作用域将会包含一个绑定到函数对象的名称,实际上,
随机推荐
- PHPSHELL又出新东东啦!
- [非常感人的]当你嫌弃你的父母时 请你读读这段话
- 理解JavaScript的caller,callee,call,apply
- php获取中文拼音首字母类和函数分享
- Python中转换角度为弧度的radians()方法
- Android中的序列化浅析
- 文本框中禁止非数字字符输入比如手机号码、邮编
- Java中Arrays.asList()方法详解及实例
- jquery tagname 取得方法
- JQuery 实现的页面滚动时浮动窗口控件
- WPF换肤设计原理浅析
- Android提高之Android手机与BLE终端通信
- java实现的RSA加密算法详解
- Android中listview嵌套scrollveiw冲突的解决方法
- Android 仿微信图像拍摄和选择界面功能(代码分享)
- 人生成功生涯规划100口诀总结第1/2页
- Android表格图标库制作
- Vue SPA单页应用首屏优化实践
- 利用python将图片版PDF转文字版PDF
- python elasticsearch环境搭建详解