js中字符串的一些問題,js高手請進??!
js中rnrnvar a="aaaa";rnvar b="aaaa";rnconsole.log(a===b);rn請問,那個“aaaa"在內存里存了幾份?是一份還是兩份?因為a和b值是相同的,rn而且js中字符串是基本數據類型,不是引用類型,如果存了兩份”aaaa",那么,這不是明顯的內存浪費嗎?rn還有就是,rnvar a="aaaa";rnvar c=a.substr(0,3);rnconsole.log(c);rna.name="hehe";rnconsole.log(a.name);rn為什么變量a可以運行a.substr(0,3)函數?而a.name卻沒有賦值成功呢?很奇怪!rn一是:基本類型變量a為什么可以運行函數呀,a又不是對象呀。rn二是:如果a被臨時轉換成了一個對象(像java中基本數據類型的裝箱和拆箱),那么為什么不能給a添加屬性呢,我測試一下發現,a只能調用string類型的內置方法。這是為什么呢?js中有3種原始包裝類型:String,Boolean和Number。每種類型都代表全局作用域中的一個構造函數,并表示各自對應的原始值的對象。原始類型不是對象,但仍可以使用諸如substring的方法,因為js引擎創建String類型的新實例的之后,緊接著就被銷毀了,當再次需要時就會又創建另外一個對象。所以為這種原始類型添加屬性時會無效。
javascript高手請進!
禁止頁面跳轉之后就可以了吧。
onclick="window.getID='+s+';return false;"
在for里面先整理字符串,for之后再加到body里面更好吧。
onclick="window.getID=this.innerText;">'+s+'</a><br/>';
javascript的遞歸函數問題,js高手請進?。?!
rnrnrnrn