javascript中Function()的写法

xxx=Function(str){} 这种写法是什么意思呀!这是什么用法呢?

因为JS并不支持指针与委托,其实,这就是Javascript所实现的类似C++中的指针,C#中的委托.XXX相当于托委的函数变量.JS模拟面向对象编程中的一个常手段.

而一楼并未说明它的真正意思,所举的两个例子也都是委托的具体运用.正document.body.focus = function(){};是将后边的执行函数"委托"给了句柄一样,但在JS中没有委托与句柄等相关概念,它中是一种编程的风格而已.上文表示当body得到焦点后会执行后边的函数.而一楼的别一个例子,将函数委托给了一个属性,那么这个属性就相当于一个方法了.事实上JS实现面向对象方法时,的确就是这样实现的.不但可以实现一个无参数的方法,也可以实现一个有参数的方法.正如一楼所写的第二个例子一样,你可以使用对象的del(n)去直接执行这样一个函数的!

而将函数直接委托给变量而不是对象的属性也是一样的.只要用XXX()就可以执行对应的函数了!但你也可能看到来了,想要问一下var xxx = function(){};与function xxx(){};的区别.两者在使用上有其实是没有区别的.可以看作一样.但在使用this等指针时是有区别的!还有就是function后边如果不是一个单纯的方法而是一个对象时,前一种方法直接开辟了内存空间,而后一种只是一个定义,使用时才开辟空间的!不过大多数时间使用前一种方法是为了正确的引用this变量,(称指针有些不太合适)而使用的一种方法,这借助了JS的闭包特性的!
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-05-30
给某个对象定义一个名字叫xxx的方法,或者某个对象的事件xxx要执行的方法。

document.body.onfocus=function(){};
或者
Array.prototype.del=function(n)
{
if(n<0)
return this;
else
return this.slice(0,n).concat(this.slice(n+1,this.length));
}

javascript 中“!function(){}() ” 是什么意思
自执行函数javascript中,这种写法 function(){ \/\/所需要执行的代码 }()被称为"自执行函数",好处是把所有变量都运行在函数内部,可以避免产生全局变量。!隔绝上面代码的影响而"!"的作用是使它和上面的代码隔绝,不会受到其影响。例如 这2行代码 var a=1 function(){}()在浏览器执行会产生语法错...

function()函数的具体用法
函数实际上是一个统一的代码块,你可以随时调用它。所有函数的开头必须加上“function()”给函数命名:最好的命名方法是,函数拥有的名称和它所表现的功能相一致。function()函数语法:function 函数名(参数1 [参数2]){ 函数体 return 返回值 } 举例:<?php>function writeMyName(){echo "Kai Jim ...

javascript 中“!function(){}() ” 是什么意思?
( function(){…} )()和( function (){…} () )是两种javascript立即执行函数的常见写法,要理解立即执行函数,需要先理解一些函数的基本概念。函数声明:function fnName () {…};使用function关键字声明一个函数,再指定一个函数名,叫函数声明。函数表达式:var fnName = function () {…};使...

javascript中:(function(){})();如何理解?
JavaScript中的`{});`是一种自执行匿名函数的写法。详细解释如下:一、匿名函数的理解 在JavaScript中,函数可以定义为匿名,即没有名字的函数。匿名函数常常用于一些临时的、不需要重复调用的场景。它们可以在定义之后立即被执行,也可以被赋值给变量,以后通过变量来调用。二、函数表达式与IIFE 函数表达式...

关于js函数的写法 fun = function(){} fun:{}有什么不同,高手回答_百 ...
1.myfun:function(){} 这个是必须写在对象内部的,这是一个对象的方法,如 var a = { myfun:function(){} }写在外面会报错。2.任何时候都不要这样写myfun = function(){},这样写就变成了全局对象window的一个属性,要记得加上var ,第四种方式是对的,如下:var myfun = function(){}...

function()函数的具体
函数的定义遵循特定的语法:"function 函数名(参数1 [参数2])"。函数体中包含了执行的具体操作,可能包含输出、计算或其他逻辑。如果需要,函数可以返回一个值,通过"return"语句指定。以JavaScript为例,定义一个函数如写入姓名:function writeMyName(){console.log("Kai Ji民m Refsnes");},调用函数...

javascript中: (function(){})();如何理解?
在JavaScript中,"(function(){})();"是一个常见的匿名函数用法,其核心目的是限制函数内部变量的作用域,避免对全局环境产生影响,提高代码的健壮性和兼容性。它实际上定义了一个函数,但并未为其分配名称,因此我们称它为无名函数。由于无名,我们不能像普通函数那样直接调用它,所以在定义后立即执行...

javascript function
1、javascript中function简介:在 JavaScript 中定义函数的方法有 3 种:使用 function 语句、使用 Function() 构造函数和定义函数直接量。不管使用哪种方法定义函数,它们都是 Function 类型的实例,并将继承 Function 原型对象的方法和属性。所有函数都是 Function 构造出来的,包括Object、Array、Function。...

javascript 的 "!function" 是什么意思?
js中可以这样创建一个匿名函数:(function(){do something...})()\/\/或 (function(){do something...}())而匿名函数后面的小括号()是为了让匿名函数立即执行,其实就是一个函数调用。这样写会报错:function(){alert(1)}()因为function前面没有(或者! ~之类的运算符,js解析器会试图将关键字...

javascript 中function 的这种用法是什么意思?
都是匿名函数写法,另外还有几种变形,不过百变不离其踪!下面的两段代码 可能帮不上您,或许让你更迷糊,不过应该能激发你的学习兴趣!! (function(b){ alert(b);return function(c){ alert(c);};})('hello')('world'); 还有一段也很诡异: (function(a){ alert(a);return arguments....

相似回答