在 Login.js 中 //声明变量
function Login(){
this.id1;
var id2;
}Login.prototype.doLogin1 = function(){
alert(this.id1);
//这个方法只能取得this.命名的值
}function doLogin2 (){
//想取得id1 和 id 2 要怎么转化呢?直接alert()是undifined
}
function Login(){
this.id1;
var id2;
}Login.prototype.doLogin1 = function(){
alert(this.id1);
//这个方法只能取得this.命名的值
}function doLogin2 (){
//想取得id1 和 id 2 要怎么转化呢?直接alert()是undifined
}
既然不了解,直接用最简单的方法最好了.var Class = {
create: function() {
return function() {
this.initialize.apply(this, arguments);
}
}
}
var Login = Class.create();
Login.prototype = {
initialize: function() { },
id1:1,//todo
id2:2//todo
}
function doLogin2 (){
var login = new Login();
alert(login.id1);
alert(login.id2);
}doLogin2();
var id2;只是个局部的变量,在函数Login 里有效,并且没有赋值,只是声明而已
任何函数中的this代表调用该函数的对象,如果没有任何对象调用该函数(直接让函数执行),那么就相当于是window对象调用该函数执行(其中的this就代表window对象)
this.id1 = "你能取得的值";
var id2 = "你还想要的值";
this.$log = function(__){
__.$ = function(IdName){
return eval(IdName);
}
}
}alert(new Login().id1); //你能取得的值var obj = {};
new Login().$log(obj);
alert(obj.$("id2")); //你还想要的值
this.id1 = "你能取得的值";
var id2 = "你还想要的值";
this.$log = function(__){
__.$ = function(IdName){
return eval(IdName);
}
}
}alert(function doLogin2(obj){
new Login().$log(obj);
return new Login().id1 + " and " + obj.$("id2")
}({}))一天就10分?应该多灌水多得分,就能多多的下载资源......
function Login(){
this.id1;//function中的this将被视为该构造函数的属性操作,id1将被当作该构造函数的一个属性
var id2;//函数中的变量
}Login.prototype.doLogin1 = function(){
alert(this.id1);//原型中的this同样被视为属性操作,只能访问到构造函数相应的属性和方法
}/*
想取得id1 和 id 2 要怎么转化呢?直接alert()是undifinedLogin中的this.id1未赋值,所以结果是undefined
要访问id2,只能调用一个和id2拥有相同作用域的函数才能访问,比如,我们可以这样写function Login(){
this.id1 = 'id1';
var id2 = 'id2';
this.doLogin2 = function(){alert(id2);};
}Login.prototype.doLogin1 = function(){
alert(this.id1);
}var test = new Login();
test.doLogin1();
test.doLogin2();*/