兩個部分,一個是如題的直接上代碼;二是外一則的小體會。 2.js裡面的this對象 var A={a:function(e){alert(e)},b:function(){console.log(this);this.a(1)}} A.b();//直接這樣調用不報錯,控制台裡面看到this是一個有a ...
兩個部分,一個是如題的直接上代碼;二是外一則的小體會。
var get_contain_chinese_number=function(check_str){ chineseArray=[]; check_str.replace((/[\u4e00-\u9fa5]/gm), function() { var text = arguments[0]; var index = arguments[arguments.length - 2]; chineseArray.push({ text: text, index: index }); return text; }); return chineseArray.length; }
2.js裡面的this對象
var A={a:function(e){alert(e)},b:function(){console.log(this);this.a(1)}}
A.b();//直接這樣調用不報錯,控制台裡面看到this是一個有a和b兩個函數的Object;
h=A.b
h();//報錯,控制台裡面看到this是Window,Window沒有a這個函數,所以報錯this.a不是一個方法
但是,如果改成
var A={a:function(e){alert(e)},b:function(){A.a(1)}}
這樣子就都不會報錯。