<!doctype html>
<html ng-app="app">
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$(function (){
var temp =new a();
temp.b();
})
var a=function (){
var b=function (){
alert(1);
}
}
</script>
</head>
</html>
正确写法如下:
var a=function(){
this.b=function(){
alert(1);
}
}
var temp =new a();
temp.b();
--------------------------------------------------------
你的写法不对,所以报错了。a是一个函数对象(你可以理解为一个类),你在这个类里定义了一个函数b,但仅仅只是定义了一下,这个b在函数a内部,但并不是函数a自己的,所以你实例化a了以后,temp.b();并不会得到你要的结果。上面我写的栗子里,将匿名函数赋值给力this.b,这个this就是a,意思就是,我定义的函数b,是a的,这个时候,你再去实例化a以后,temp.b();才是a函数的b方法,才会得到你要的结果。
js里面的方法定义不能这样定义!可以百度
没报错啊
var a = function (){
this.b = function (){
alert(1);
}
}
要這樣寫喔
在函数里面var b;
它的对象是window,
而不是你的temp,
所以你需要改成this.b;
并不是不报错就不是错。
var a = function(){ a.prototype.b = function(){ alert("1") } } var temp = new a(); temp.b()