基于js里调用函数时,函数名带括号和不带括号的区别_javascript技巧

示例代码:

<span style="font-size:18px;">function hi(){
 var a = 1;
 return function(){
 console.log(a++);
 };
};
var aaa = hi();
var bbb = hi;
</span>

如以上代码:

aaa 是将 hi() 的运行结果赋值给它,即 return 返回的匿名函数,此时有一个闭包,则每次调用 aaa 时都访问的同一个 a,aaa() 第一次运行结果为 1,第二次为2

而 bbb 将是将 hi 这个函数名赋值给它,则调用 bbb() 后返回一个函数表达式,即function(){console.log(a++)};

以上这篇浅谈js里调用函数时,函数名带括号和不带括号的区别就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索函数名加括号
函数名后面的括号、函数名加括号、python 函数名括号、javascript函数名、js根据函数名调用函数,以便于您获取更多的相关知识。

时间: 2024-10-19 02:09:06

基于js里调用函数时,函数名带括号和不带括号的区别_javascript技巧的相关文章

基于JS代码实现当鼠标悬停表格上显示这一格的全部内容_javascript技巧

想实现这样一个功能,就是在一个表格中,由于很多字过多,所以用文字溢出的方法处理了,但是这样就无法看到表格中具体的内容呢.想实现当鼠标移上去的时候可以显示这一行被隐藏的内容.当然这个网上有很多插件,但是我没有用,还是自己写了一个. css部分 <style> #showbox { width: 150px; min-height: 50px; font: 100 14px/1 "微软雅黑"; border: 1px solid #3c8dbc; display: none;

对象-JS里,如何理解函数的传参都是按值传递的?

问题描述 JS里,如何理解函数的传参都是按值传递的? <JavaScript高级程序设计>里讲到函数按值传递时,特意提了"在局部作用域中修改的对象会在全局作用域中反映出来,说明参数是按引用传递的"这个说法是错误的,随即Nicholas也给出了一个例子: function setName(obj){ obj.name = 'Nicholas'; obj = new Object(); obj.name = 'Greg'; } var person = new Object()

基于JS实现PHP的sprintf函数实例_javascript技巧

本文实例讲述了基于JS实现PHP的sprintf函数.分享给大家供大家参考,具体如下: 函数如下: <script type="text/javascript"> function sprintf() { var arg = arguments, str = arg[0] || '', i, n; for (i = 1, n = arg.length; i < n; i++) { str = str.replace(/%s/, arg[i]); } return st

浅谈javascript 函数表达式和函数声明的区别_javascript技巧

javascript中声明函数的方法有两种:函数声明式和函数表达式. 区别如下: 1).以函数声明的方法定义的函数,函数名是必须的,而函数表达式的函数名是可选的. 2).以函数声明的方法定义的函数,函数可以在函数声明之前调用,而函数表达式的函数只能在声明之后调用. 3).以函数声明的方法定义的函数并不是真正的声明,它们仅仅可以出现在全局中,或者嵌套在其他的函数中,但是它们不能出现在循环,条件或者try/catch/finally中,而     函数表达式可以在任何地方声明. 下面分别用两种方法定

浅析javascript中函数声明和函数表达式的区别_javascript技巧

javascript中声明函数的方法有两种:函数声明式和函数表达式. 区别如下: 1).以函数声明的方法定义的函数,函数名是必须的,而函数表达式的函数名是可选的. 2).以函数声明的方法定义的函数,函数可以在函数声明之前调用,而函数表达式的函数只能在声明之后调用. 3).以函数声明的方法定义的函数并不是真正的声明,它们仅仅可以出现在全局中,或者嵌套在其他的函数中,但是它们不能出现在循环,条件或者try/catch/finally中,而     函数表达式可以在任何地方声明. 下面分别用两种方法定

比较常见的javascript中定义函数的区别_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"

js弹出框、对话框、提示框、弹窗实现方法总结(推荐)_javascript技巧

一.JS的三种最常见的对话框 //====================== JS最常用三种弹出对话框 ======================== //弹出对话框并输出一段提示信息 function ale() { //弹出一个对话框 alert("提示信息!"); } //弹出一个询问框,有确定和取消按钮 function firm() { //利用对话框返回的值 (true 或者 false) if (confirm("你确定提交吗?")) { aler

浅谈js在html中的加载执行顺序,多个jquery ready执行顺序_javascript技巧

jQuery $(document).ready()执行顺序: 当页面DOM 元素全部加载完毕后就执行.ready().$(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕. 如果在.ready()执行之前有javascript代码存在,那么javascript将怎么执行呢? 答案是先执行.ready()之前的javascript代码,然后执行.ready(). 多个$(document).ready()的执行顺序并非单纯的顺序执行,其与嵌套层级也有一定的关系.

js与jquery获取父级元素,子级元素,兄弟元素的实现方法_javascript技巧

先说一下JS的获取方法,其要比JQUERY的方法麻烦很多,后面以JQUERY的方法作对比 JS的方法会比JQUERY麻烦很多,主要则是因为FF浏览器,FF浏览器会把你的换行也当最DOM元素 原生的JS获取ID为test的元素下的子元素.可以用: 比如: <div id="dom">    <div></div>    <div></div>    <div></div></div> var