求javascript的一种写法

bosscheng 发布于 2013/12/11 23:19
阅读 381
收藏 2

见代码:

var Send = function(){
    throw 'Abstract';
}



这样写法想要表达的意思是什么?

加载中
0
开源中国最帅没有之一
开源中国最帅没有之一

引用来自“廖君”的答案

同var send=function(){}();

这是一个闭包,直接调用send()处理错误,并且抛错误信息

参考:

http://w3school.com.cn/js/js_throw.asp

js的语法太有意思了 
0
开源无憾
开源无憾
你的问题的重点是在"throw"这点么?
0
淘淘我的小宝宝
淘淘我的小宝宝

这只是定义一个匿名函数,里面直接抛出一个异常


var Send = function(){
    throw 'test';
}
try{
Send();
}catch(error){
    alert(error);
} 

上面的写法跟下面是一样的,这里跟闭包没多大关系

function Send(){
    throw 'test';
}
try{
Send();
}catch(error){
    alert(error);
}



廖君
廖君
谢谢指正。我把函数的赋值给变量都判断成为了closure 今天再去看看闭包才知道产生闭包是函数内部拥有另一函数的定义。 3Q
0
缪斯的情人
缪斯的情人

引用来自“with_you”的答案

这只是定义一个匿名函数,里面直接抛出一个异常


var Send = function(){
    throw 'test';
}
try{
Send();
}catch(error){
    alert(error);
} 

上面的写法跟下面是一样的,这里跟闭包没多大关系

function Send(){
    throw 'test';
}
try{
Send();
}catch(error){
    alert(error);
}



正解,就是个匿名函数
yio
yio
赞同,一楼看来没理解透
0
jianglibo
jianglibo
这样写的意义在于你自己知道发生了什么,在外围程序。你可以处理它,这是推荐的编程规范。这个和语法,闭包没有半毛关系。
0
wmlgl
wmlgl

这说明Sent是一个抽象方法(模拟的), 具体实现在其他地方,或者是需要调用者自己实现的。

-1
廖君
廖君

同var send=function(){}();

这是一个匿名函数,直接调用send()处理错误,并且抛错误信息

参考:

http://w3school.com.cn/js/js_throw.asp

感谢@with_you  指正

返回顶部
顶部