- 浏览: 50625 次
- 来自: 深圳
文章分类
最新评论
JS函数中带与不带括号的区别
其实总结起来如下:
函数只要是要调用它进行执行的,都必须加括号。此时,函数()实际上等于函数的返回值。当然,有些没有返回值,但已经执行了函数体内的行为,这个是根本,就是说,只要加括号的,就代表将会执行函数体代码。
不加括号的,都是把函数名称作为函数的指针,用于传参,此时不是得到函数的结果,因为不会运行函数体代码。它只是传递了函数体所在的地址位置,在需要的时候好找到函数体去执行。
所以一般时候我们都是采用的是无括号的原因。这也是由于括号的二义性,因为括号是“函数调用运算符”,相当于在执行这样一个函数,所以产生的问题在理解了之后也就理解了。
另外:除了两边不加括号,也可以两边都加括号来实现函数的拷贝,而不是执行函数,如果左边无圆括号右边有圆括号,实际就是相当于产生的是一个属性而不是一个方法了,在调用的时候只用属性名或者函数名,而不需要再用函数调用运算符圆括号了,因为它就相当于一个属性,当然也可以用函数调用的方式来调用,加上括号,拿上例子来说就是如果写成person.sayHello =sayHi(),在调用sayHello的时候就可以直接用person.sayHello或者person.sayHello()了,二者都实现相同的效果。
get 是函数自身, get() 是运行函数
var x=get;
那么 x 和 get 是等同的
var x=get();
那么 x 是 函数 get 的返回值
例如
function get(){return 1}
var x=get(); 那么 x 就等于 1 咯
如果是
var x=get;
那么
var y=x(); 和 var y=get(); 都是等价的。
.
其实总结起来如下:
函数只要是要调用它进行执行的,都必须加括号。此时,函数()实际上等于函数的返回值。当然,有些没有返回值,但已经执行了函数体内的行为,这个是根本,就是说,只要加括号的,就代表将会执行函数体代码。
不加括号的,都是把函数名称作为函数的指针,用于传参,此时不是得到函数的结果,因为不会运行函数体代码。它只是传递了函数体所在的地址位置,在需要的时候好找到函数体去执行。
所以一般时候我们都是采用的是无括号的原因。这也是由于括号的二义性,因为括号是“函数调用运算符”,相当于在执行这样一个函数,所以产生的问题在理解了之后也就理解了。
另外:除了两边不加括号,也可以两边都加括号来实现函数的拷贝,而不是执行函数,如果左边无圆括号右边有圆括号,实际就是相当于产生的是一个属性而不是一个方法了,在调用的时候只用属性名或者函数名,而不需要再用函数调用运算符圆括号了,因为它就相当于一个属性,当然也可以用函数调用的方式来调用,加上括号,拿上例子来说就是如果写成person.sayHello =sayHi(),在调用sayHello的时候就可以直接用person.sayHello或者person.sayHello()了,二者都实现相同的效果。
get 是函数自身, get() 是运行函数
var x=get;
那么 x 和 get 是等同的
var x=get();
那么 x 是 函数 get 的返回值
例如
function get(){return 1}
var x=get(); 那么 x 就等于 1 咯
如果是
var x=get;
那么
var y=x(); 和 var y=get(); 都是等价的。
.
发表评论
-
IE下使用uploadify上传文件的相关问题解决
2017-10-12 12:14 277SWFUpload.prototype.cleanUp = f ... -
js和java 中文乱码
2016-11-18 11:37 553因为在jsp中对中文进行了编码的时候用的是UTF-8的编码 ... -
js常用方法
2016-08-25 17:37 445当前返回日期yyyy-MM-dd function get ... -
js时间比较/当前时间
2015-12-03 21:49 472var selectDate=edit.getContro ... -
js map类型
2015-08-25 10:11 936<script> function Map2() ... -
javat替换成换行符,关于textarea中换行、回车、空格的识别与处理
2015-08-24 20:05 1635var newString=con.replace(/\n/ ... -
使用ajax和window.history.pushState无刷新改变页面内容和地址栏URL
2015-07-18 15:24 5028后退时关闭当前页面 < ... -
限制文本框只能输入数字
2015-07-07 15:59 397js控制只允许输入数字 avascript 只允许输入数字有很 ... -
正确优雅的解决用户退出问题——JSP和Struts解决方案(转载)
2015-07-06 17:37 501正确优雅的解决用户退出问题——JSP和Struts解决方案(转 ... -
长度限制
2015-06-12 16:56 652//=============得到输入框长度(包括中文)=== ... -
js input即时监听输入值
2015-06-08 17:01 2522总结一下 :要想在输入框超过限制长度时候,不给输入。之前是用o ... -
回车和点击实现表单提交
2015-06-02 14:06 407<html> <head> <t ... -
js记录用户名密码 COOKIE
2015-06-02 10:43 809记录COOKIE后,当取消复选框时 发现无法删除COOKIE。 ... -
Js实现图片上传前在本地预览
2015-05-28 17:59 531<!DOCTYPE html PUBLIC " ... -
获取系统当前时间 适合用于头部
2015-05-26 16:26 429<!DOCTYPE HTML PUBLIC " ... -
JS 将字符串转换成日期类型
2015-05-22 14:52 631JS 将字符串转换成日期类型 2013-06-19 17:48 ... -
JS 字符串长度判断
2015-05-20 10:08 1652content.replaceAll("(\r\n| ... -
js开发遇到在方法中调用另一方法问题
2015-05-19 18:03 498/eas_crm_dayi/WebContent/ecp/pa ...
相关推荐
下面小编就为大家带来一篇基于js里调用函数时,函数名带括号和不带括号的区别。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
计算器括号匹配与初等运算,包含HTML/CSS/JS
JScript 是 Microsoft 公司对 ECMA...某些函数根本不带任何参数,而其他函数带一个或者多个参数。在某些函数中,参数的个数取决于如何使用该函数。 Jscript 支持两种函数:一类是语言内部的函数,另一类是自己创建的。
也许知道后面的圆括号是执行前面的函数,而并不清楚前面的圆括号具有何种含义!本文将带你了解匿名函数的代码模式原理。 OK,先来看看更多匿名函数调用模式: 代码如下: (function(){alert(1);}()) (function...
Calculate1.java 计算浮点数运算结果并调用页面中JavaScript函数的Applet。 Calculate1.class Calculate1.java的字节码文件。 第16章(\c16) 示例描述:介绍JavaScript访问本地文件的各种方法。 16.1....
Javascript中的自执行匿名函数 格式: (function(){ //代码 })(); 解释:这是相当优雅的代码(如果你首次看见可能会一头雾水:)),包围函数(function(){})的第一对括号向脚本返回未命名的函数,随后一对空括号...
第6章使用JavaScript函数构建重用性 6.0简介 6.1创建一段可重用的代码 6.2把单个数据值传递到函数 6.3把复杂的数据对象传递给函数 6.4创建一个动态运行时函数 6.5把一个函数当做参数传递给另一个函数 ...
js文件/以上代码中,我们把say函数作为execute函数的第一个变量进行了传递。 //这里的传递的不是say的返回值,而是say的本身!...//execute可以通过调研someFunciton()带括号的形式来使用say函数。
值在JSON中不代表任何内容,函数与未定义(undefined)被排除在外。 不能确定的数量将被替换为null。为了替代其它的值,可以像下面一样使用替换(replacer)函数 function replacer(key, value) { if (typeof value ...
7.2、不带参数构造 14 7.3、自定义对象 14 8、RegExp 对象 15 8.1、语法 15 8.1.1直接量语法: 15 8.1.2创建 RegExp 对象的语法: 15 8.1.2.1、参数 16 8.1.2.2、返回值 16 8.1.2.3、抛出 16 8.2、修饰符 16 8.3、方...
lastParen 属性 ($+) 从任意一个正则表达式搜索中返回最后的由括号括起的子匹配(若存在的话)。 lbound 方法 返回在 VBArray 中指定维数所用的最小索引值。 leftContext 属性 ($`) 返回由调用者传递给函数的实际...
1.3.9 函数的调用和引用(不带括号) 1.4 实例:WYSIWYGJavaScript翻转图 1.5 小结 第2章 创建可重用的对象 2.1 对象中包含什么 2.1.1 继承 2.1.2 理解对象成员 2.1.3 window...
总结常用的Vue.js指令 本文承接: 写给后端工程师看的Vue.js入门 指令 (Directives) 是带有 v- 前缀的特殊特性。指令特性的预期值是:单个 ...可以直接获取Vue实例中定义的数据或函数(上面的演示就是这种情况)
狮身人面像一种简单有效的编程语言,可转换为JavaScript。语言功能原始数据类型... func thisIsFunction {}上面的thisIsFunction不带参数,因此周围没有() 。 要接受函数中的参数,请在标识符后添加括号,如下所示: f
javascript的官方文档 这些方便实用的信息将帮助您了解 JScript 的各个部分。 在“字母顺序的关键字列表”中,可以找到按字母顺序列出的所有 JScript 语言的主题。如果只需要查看某个主题(例如对象),则有对该主题...
JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。 JSON的规则很简单: 对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右...
个人理解:指针只是指向内存的一个索引;而地址则是内存中确切的位置。... 注意:使用不带圆括号的函数的名是访问函数指针,而非调用函数,所以 sum和anotherSum指向同一个函数,即 sum=null;不影响anotherSum
1.3.9 函数的调用和引用(不带括号) 1.4 实例:WYSIWYGJavaScript翻转图 1.5 小结 第2章 创建可重用的对象 2.1 对象中包含什么 2.1.1 继承 2.1.2 理解对象成员 2.1.3 window...