首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Js 使用new关键字调用函数和直接调用函数的区别

最近开始学习js,在看到书上的一个例子时,引发了我的一系列思考: 书上例子: function Person(name,age,job){ var o =new Object();...var person=Person("张三",20); //报错 person undefined 此处为普通函数调用,又没有给定返回值,出错。...person.sayName(); 得出结论:使用new关键字是将函数当作构造函数调用,即为构造对象,若没有人为的重写调用构造函数时返回的值,那么返回的对象是由解析器自己生成的。...不使用new关键字调用函数,即为普通函数调用。 随即想到若是函数返回值是function型的呢?...),虽然new函数与直接调用函数产生的结果等同,但是是两个不同的过程,一个是构造对象、一个是函数调用

3.6K10

js匿名函数和命名函数_jsp调用java方法

由衷的感叹,js真是烦。 学到现在,渐渐理解了什么是:语言都是通用的,没有好不好,只有擅长不擅长。...温故知新,今天又回味了一遍,匿名函数作为函数参数。 代码很短,五脏俱全。...难道匿名函数自执行了? 错!!!匿名函数!=自执行匿名函数 真相只有1个:匿名函数作为参数,在调用(将匿名函数作为参数的)函数里被调用执行了。...function test( a, b ){ a+=1; // b是对象,函数名也是对象,所以b可以指代一个函数 // 类似c++中的函数名一样 // a被复制给了b(result) // js好灵活...b(a); } 以上这篇js匿名函数作为函数参数详解就是小编分享给大家的全部内容了,希望能给大家一个参考。

6.2K20

关于立即调用函数表达式(IIFE)

在 JavaScript 中,圆括号 () 是一种运算符,跟在函数名之后,表示调用函数。...比如,print() 就表示调用 print 函数 有时,我们需要在定义函数之后,立即调用函数,例如: function(){ /* code */ }(); // SyntaxError: Unexpected...token ( 以上代码出现了语法错误 原因是,function 这个关键字即可以当作语句,也可以当作表达式 // 语句 function f() {} // 表达式 var f = function...function(){ /* code */ })(); 上面两种写法都是以圆括号开头,引擎就会认为后面跟的是一个表示式,而不是函数定义语句,所以就避免了错误 这就叫做“立即调用函数表达式”(Immediately-Invoked...*/ }()) (function(){ /* code */ }()) 上面代码的两行之间没有分号,JavaScript 会将它们连在一起解释,将第二行解释为第一行的参数 推而广之,任何让解释器以表达式来处理函数定义的方法

52240

JS 匿名函数——几种不同的调用方式

hello'); }; 2.使用匿名函数表达式。...声明:var func=function(){ } 调用:func(); var show = function(){ alert('hello'); }; show(); 注意:使用匿名函数表达式时...,函数调用语句,必须放在函数声明语句之后!!!...原因:检查装载时,会先对show变量及这个匿名函数声明,此时,还未将匿名函数赋值给show变量,如果在表达式之前调用,会报错 show is not a function js代码的执行顺序问题 js...检查装载阶段:会先检测代码的语法错误,进行变量、函数的声明 执行阶段:变量的赋值、函数调用等,都属于执行阶段。 3.自执行函数。这里我总结了8种常用的匿名函数调用方法: //1.使用 !

3.9K10

JavaScript-立即调用函数表达式(IIFE)

(2)将匿名函数赋予一个变量,叫函数表达式,这是最常见的函数表达式语法形式。 1.3 匿名函数 (1)下面是匿名函数的一个例子(函数没有名字)。 ? (2)也可以在定义时为函数命名。 ?...1.4 IIFE (1)但有时需要在定义函数之后,立即调用函数函数只使用一次)。...这种函数就叫做立即执行函数,全称为立即调用函数表达式IIFE(Imdiately Invoked Function Expression) 二、立即调用函数表达式 2.1 概念 立即调用函数表达式(IIFE...假设有一个需求,每次调用函数,都返回加1的一个数字(数字初始值为0) 【1】全局变量 一般情况下,我们会使用全局变量来保存该数字状态 ?...参考文章 深入理解JavaScript系列(4):立即调用函数表达式 汤姆大叔 (译)详解javascript立即执行函数表达式(IIFE) 韩子迟 深入理解闭包系列第三篇——IIFE 小火柴的蓝色理想

1K20

JavaScript(js函数声明与函数表达式的区别

在JavaScript中,函数是经常用到的,在实际开发的时候,我想很多人都没有太在意函数的声明与函数表达式的区别,但是呢,这种细节的东西对于学好js是非常重要的。...函数声明与函数表达式用代码写出来是这样的: //函数声明 function say(){ console.log("函数声明") } //函数表达式 var say1 = function(){...首先,在函数调用方面,看下面的代码 say(); //函数声明 function say(){ console.log("函数声明") } 这样的执行结果是什么呢?...注意,我们是调用函数表达式,这样的结果是会报错,为什么呢?...一起来看看,首先我们先说第一种,函数声明的调用函数声明的调用这个其实不用讲你就知道,函数声明了嘛,哪里都可以调用的(function会有预解析,预解析之后函数就存在了,所以那里都能调用它了)。

79130

JS函数声明与函数表达式的不同

Js中的函数声明是指下面的形式: function functionName(){ }         这样的方式来声明一个函数,而函数表达式则是类似表达式那样来声明一个函数,如: var functionName...事实上,js的解析器对函数声明与函数表达式并不是一视同仁地对待的。...对于函数声明,js解析器会优先读取,确保在所有代码执行之前声明已经被解析,而函数表达式,如同定义其它基本类型的变量一样,只在执行到某一句时也会对其进行解析,所以在实际中,它们还是会有差异的,具体表现在,...当使用函数声明的形式来定义函数时,可将调用语句写在函数声明之前,而后者,这样做的话会报错。

1.4K20

JS函数声明与函数表达式的异同

例子的话还是前文的说真话函数: 即函数声明的话sayTruth()可以提前调用,就是不请自来的那种,而函数表达式是什么时候遇到什么时候执行。...(){alert('myvin is ugly')},覆盖了前面的函数声明,当我们调用sayTruth()函数的时候,也就是到了代码执行期间,声明会被忽略,所以自然会输出myvin is ugly。...注意,括号里面的是表达式。 (function(){ alert('博主的名字是:myvin 。'); })() 事实上,js的解析器对函数声明与函数表达式并不是一视同仁地对待的。...对于函数声明,js解析器会优先读取,确保在所有代码执行之前声明已经被解析,而函数表达式,如同定义其它基本类型的变量一样,只在执行到某一句时也会对其进行解析,所以在实际中,它们还是会有差异的,具体表现在,...当使用函数声明的形式来定义函数时,可将调用语句写在函数声明之前,而后者,这样做的话会报错。

1.1K50

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券