JS调用函数时候加括号与只写函数名字的区别 fn与fn()的区别

时间:2022-10-08 23:35:14

经常见插件里面函数调用的时候只写个函数名字,不写函数参数,甚至连括号也不写,比如说:

 <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script type="text/javascript">
function a1(){
alert('a');
return '1';
}; window.onload=function(){ //不加括号代表取函数所有部分,
alert(a1); alert('a1结束'); // 加括号代表取的是函数体部分
alert(a1());
} </script>
</head>
<body>
</body>
</html>

上面结果显示为:

JS调用函数时候加括号与只写函数名字的区别   fn与fn()的区别

JS调用函数时候加括号与只写函数名字的区别   fn与fn()的区别

JS调用函数时候加括号与只写函数名字的区别   fn与fn()的区别

JS调用函数时候加括号与只写函数名字的区别   fn与fn()的区别

可以看出,

1.只写函数名字相当于取函数所有部分,包括声明:

例如:btn.onclick=a1

  等价于

  btn.onclick=function a1(){

      alert('a');
                return '1';

}

2.写函数括号就代表调用函数,类似于Java中的函数调用。

  加上圆括号的目的是迫使在处理JavaScript代码的时候强制将 括号内的表达式(expression)转化为对象,而不是作为语 句(statement)来执行。

JS调用函数时候加括号与只写函数名字的区别 fn与fn()的区别的更多相关文章

  1. 函数基础重点掌握内容:创建函数、return返回单个值、return返回多个值、函数名加括号与不加括号的区别

    ##比较两个数大小 #有参函数!!! def compare(s,t): if s > t: print(s) else: print(t) f=compare compare(1000,30) ...

  2. JS函数 函数调用 函数定义好后,是不能自动执行的,需要调用它&comma;直接在需要的位置写函数名。

    函数调用 函数定义好后,是不能自动执行的,需要调用它,直接在需要的位置写函数名. 第一种情况:在<script>标签内调用. <script type="text/java ...

  3. python中 函数名加括号与不加括号

    加括号是返回函数的结果,不加括号相当于函数的调用.

  4. Js函数加括号、不加括号&lpar;转&rpar;

    函数只要是要调用它进行执行的,都必须加括号.此时,函数()实际上等于函数的返回值.当然,有些没有返回值,但已经执行了函数体内的行为,这个是根本,就是说,只要加括号的,就代表将会执行函数体代码. 不加括 ...

  5. 关于JS中的方法是否加括号的问题

    js中的方法什么时候加括号什么时候不加括号呢,我们有时候经常就搞不清楚,记住下面这几点就好理解了. 1.函数做参数时都不要加括号. function fun(a){ alert(a); } funct ...

  6. 函数后面加throw关键字

    [1]为什么函数后面加throw关键字? C++函数后面加关键字throw(something)限制,是对这个函数的异常安全性作出限制. 举例及解释如下: void fun() throw() 表示f ...

  7. 用js进行日期的加减

    如题,开始查了查js的使用文档,但没发现可以直接用的函数,于是就想自己写函数来着,这就要涉及到每个月天数的判断,如果是2月份的话,还要涉及到闰年的判断,虽然不复杂但我想js应该不会这么低级,于是查了下 ...

  8. (转)函数后面加const--C&plus;&plus; const成员函数

    类的成员函数后面加 const,表明这个函数不会对这个类对象的数据成员(准确地说是非静态数据成员)作任何改变. 在设计类的时候,一个原则就是对于不改变数据成员的成员函数都要在后面加 const,而对于 ...

  9. php函数前面加&amp&semi;符号 和 变量前面加&amp&semi;符号的意义

    php函数前面加&符号 和 变量前面加&符号的意义 php函数前面加&符号的意思是函数的引用返回,php函数前面加&符号有什么作用呢 function &tes ...

随机推荐

  1. 计算机网络学习笔记--数据链据层之MAC子层&lpar;整理&rpar;

    概述: 为什么需要介质访问控制子层(MAC)? 介质访问控制子层(MAC)是局域网体系结构中划分的子层,多路访问链路采用共享介质连接所有站点.发送站点通过广播方式发送数据并占用整个带宽,如果有多个站点 ...

  2. Linux操作系统启动流程梳理

    接触linux系统运维已经好几年了,常常被问到linux系统启动流程问题,刚好今天有空来梳理下这个过程:一般来说,所有的操作系统的启动流程基本就是: 总的来说,linux系统启动流程可以简单总结为以下 ...

  3. commonJS 浏览器实现

    commonjs http://www.commonjs.org/ CommonJS JavaScript is a powerful object oriented language with so ...

  4. H5新特性 input type&equals;date 在手机上默认提示显示无效解决办法

    目前PC端对input 的date类型支持不好,我试下来的结果是只有chrome支持.firefox.IE11 都不支持.而且PC端有很多日历控件可供使用.就不去多考虑这点了. 那么在移动端的话,io ...

  5. node&period;js Stream Buffer FsPromise

    Stream: 类似这样:a.pipe(b).pipe(c); 我想写一个b.所以: var rs=new (require('stream').Readable)(); var ws=new (re ...

  6. 把aspx页面输出成xml的方法注意事项

    先贴代码 Response.Charset = "gb2312"; Response.ContentType = "text/xml"; Response.Co ...

  7. 【转】C&sol;CPP之static

    静态变量作用范围在一个文件内,程序开始时分配空间,结束时释放空间,默认初始化为0,使用时可以改变其值. 静态变量或静态函数只有本文件内的代码才能访问它,它的名字在其它文件中不可见.用法1:函数内部声明 ...

  8. python不使用第三方变量,交换两个变量的值

    #不使用第三个变量交换两个变量的值 a=1 b=2 a,b=b,a#python的直接交换 #另一种交换方法 a=a+b#a=3 b=2 b=a-b#a=3 b=1 a=a-b#a=2 b=1 pri ...

  9. Ansible自动化运维笔记2&lpar;Ansible的组件介绍&rpar;

    1.Ansible Inventory (1)静态主机文件 默认的ansible invetory是/etc/hosts文件,可以通过ANSIBLE_HOSTS环境变量或者通过运行命令的时候加上-i ...

  10. &lbrack;预打印&rsqb;使用vbs给PPT&lpar;包括公式&rpar;去背景

    原先博客放弃使用,几篇文章搬运过来 在 视图—>宏 内新建宏 '终极版 Sub ReColor() Dim sld As Slide Dim sh As Shape For Each sld I ...