请问这样的返回情况是什么

my_js 2009-10-21 04:59:47
car=function(){
car111=function(){}

return car111;
}

carA=new car();
请问返回的是什么。是实例化的car111吗?
...全文
138 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovebin_bin 2009-10-22
  • 打赏
  • 举报
回复
car 是一个函数名
car = function(){} 比 function car(){} 写灵活(效果是相同的)
carA = new car();
相当于Java中的初始化对象,初始化函数car
car111()函数的返回值也是car()函数的返回值 (外层函数的返回值)


wqli07 2009-10-21
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 foolbirdflyfirst 的回复:]
引用 8 楼 my_js 的回复:
上面不需要实例化就可以得结果的啊
var carA=car('hello');
carA()
还是不理解实例化的作用

不能用php的那套去理解javascript呀,javascript有不少独特而有魅力的东西,作用域的指定(和闭包有密切联系),闭包,prototype链+call/apply实现继承,单线程的延时机制(setTimeout,setInterval)。
有时候真的感觉js的知识可意会,却不好解释。。惭愧。

[/Quote]

以后多多指教JS哦 跟你学习 O(∩_∩)O哈哈~
  • 打赏
  • 举报
回复
-------- 楼主,记得给分 ----------
  • 打赏
  • 举报
回复
[Quote=引用楼主 my_js 的回复:]
car=function(){
    car111=function(){}

    return car111;
}

carA=new car();
请问返回的是什么。是实例化的car111吗?
[/Quote]
返回的是函数的引用,也就是函数的指针 car111,结果应该是function(){}。不是实例化的类。因为你要是把car111=function(){}看作是一个类的声明,那么你必须在声明之后,对它进行实例化。例如:

var car = function(){
var car111=function(){
this.name = 'hello';
};
var instance = new car111();//进行实例化
return instance;
}

var carA = new car();

alert('carA: ' + carA.name);
/**
[说明] 写js时要注意,对变量的声明要写关键字var ,如:var arr = [];
如果不写 var 这个关键字,那么变量 arr将是一个全局变量,这样很危险。
变量的作用域越小越保险越好。也是我们写程序的一个要求。
*/
foolbirdflyfirst 2009-10-21
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 my_js 的回复:]
上面不需要实例化就可以得结果的啊
var carA=car('hello');
carA()
还是不理解实例化的作用
[/Quote]
不能用php的那套去理解javascript呀,javascript有不少独特而有魅力的东西,作用域的指定(和闭包有密切联系),闭包,prototype链+call/apply实现继承,单线程的延时机制(setTimeout,setInterval)。
有时候真的感觉js的知识可意会,却不好解释。。惭愧。
foolbirdflyfirst 2009-10-21
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 wqli07 的回复:]
引用 3 楼 foolbirdflyfirst 的回复:
返回一个function。

JScript codevar car=function(){var car111=function(a){alert(a)}return car111;
}
car()('hello world')


你说闭包范畴,想请教下:
1、一般都哪些地方用啊
2、是安全性方面考虑嘛
[/Quote]
怎么说呢,这个东西是javascript强大的一个特性,很多时候都会用到,跟安全性没什么太大的关系,当然用得不好很有可能会出现大问题。
my_js 2009-10-21
  • 打赏
  • 举报
回复
上面不需要实例化就可以得结果的啊
var carA=car('hello');
carA()
还是不理解实例化的作用
wqli07 2009-10-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 foolbirdflyfirst 的回复:]
返回一个function。

JScript codevar car=function(){var car111=function(a){alert(a)}return car111;
}
car()('hello world')
[/Quote]

你说闭包范畴,想请教下:
1、一般都哪些地方用啊
2、是安全性方面考虑嘛
foolbirdflyfirst 2009-10-21
  • 打赏
  • 举报
回复
var car=function(a){
var b = 'world';
var car111=function(){alert(a+' '+b)}

return car111;
}

var carA=new car('hello');
carA()
foolbirdflyfirst 2009-10-21
  • 打赏
  • 举报
回复
其实这个问题属于闭包范畴,lz可以多多了解下这个javascript的强大特性。
zgycsmb 2009-10-21
  • 打赏
  • 举报
回复
返回的值,要看function 的内容
foolbirdflyfirst 2009-10-21
  • 打赏
  • 举报
回复
返回一个function。

var car=function(){
var car111=function(a){alert(a)}

return car111;
}
car()('hello world')
wldzjj 2009-10-21
  • 打赏
  • 举报
回复
没见过这样的 但我觉得好像返回的是个类
cooledit2730 2009-10-21
  • 打赏
  • 举报
回复
你这是JS吧 ,PHP没这么写的。

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧