用Java也有段時間了,現在想想當時學這個的時候莲祸,也是挺辛苦的蹂安,所以成就感油然而生.剛開始學些基礎的,Javaweb輕量級軟件開發(fā)锐帜,當時作為新手而言看的<Head First Java(第二版·中文版)>這本書田盈,在我覺得這本書還是不錯的,沒有基礎的同學可以在逗逼的氣氛中搞定基礎語法缴阎、體會面向對象的思想允瞧,有編程基礎的同學也會發(fā)現原來技術書也可以寫成這樣!厲害了...Java是目前最流行的編程語言之一——它可以用來編寫Windows程序或者是Web應用蛮拔,移動應用述暂,網絡程序,消費電子產品建炫,機頂盒設備畦韭,它無處不在,下面就來說說我在學習的時候遇到的一些問題肛跌,簡單談談在下的心得吧廊驼!也希望大家多指教了.
其實基礎一些的還好.我想說說JavaScriptJavaScript 是腳本語言,是一種輕量級的編程語言惋砂,是可插入 HTML 頁面的編程代碼,插入 HTML 頁面后绳锅,可由所有的現代瀏覽器執(zhí)行西饵。JavaScript 是與 HTML 和 CSS 結合運行在瀏覽器中,強大且富有表現力的語言鳞芙【烊幔基于一個叫做 ECMAScript 的開放標準期虾,JavaScript 快速的發(fā)展成為“網絡的編程語言”。jQuery 所有的力量都來自于 JavaScript驯嘱,所以無需贅言镶苞,它是一門值得學習的重要語言。擁有 JavaScript 的基礎知識鞠评,會對理解茂蚓,構建和調試代碼很有幫助。
如果大家想要在學習中了解更多關于java的知識可以加入12 777 9002編號單純剃幌,一起學習java聋涨。下面還是列舉一些關于這方面的問題吧,看過之后大家應該也就清楚了
第一個
{a:1}.a報錯负乡,錯誤Uncaught SyntaxError: Unexpected token .牍白。
解決:
({a:1}.a) // 或({a:1}).a
對象字面值不能正確解析
第二個
123.toFixed(2)報錯,錯誤Uncaught SyntaxError: Unexpected token ILLEGAL
解決:
(123).toFixed(2) // >> "123.00"
? ? ? ? ? ? ? ? ? // 以下兩種都可以抖棘,但完全不推薦
? ? ? ? ? ? ? ? ? 123..toFixed(2)
? ? ? ? ? ? ? ? ? 123 .toFixed(2)
數字的點操作符
第三個.
嘗試解釋下連等賦值的過程茂腥。下面的代碼為什么是這樣的輸出?
var a = {n:1};
? ? ? ? ? ? ? ? ? var b = a; a.x= a = {n:2};
? ? ? ? ? ? ? ? ? console.log(a.x);// --> undefined
? ? ? ? ? ? ? ? ? console.log(b.x);// --> {n:2}
連等賦值問題
第四個
下面的代碼返回什么切省,為什么最岗?
var x =20;
? ? ? ? ? ? ? ? ? var temp = { x:40,
? ? ? ? ? ? ? ? ? foo:function() {
? ? ? ? ? ? ? ? ? var x =10;
? ? ? ? ? ? ? ? ? returnthis.x; }};(temp.foo, temp.foo)(); // 20,而不是40
逗號操作符
第五個
parseInt傳入數字時為什么有以下輸出数尿?
parseInt(0.000008) // >> 0
? ? ? ? ? ? ? ? ? parseInt(0.0000008) // >> 8
parseInt傳入數字
也不說那么多了仑性,簡單說這幾個吧,下面給大家分析一下吧
第一個
聲明對象字面值時右蹦,語句開頭不應該用
{
诊杆,因為js解釋器會認為這是語句塊(
block
)的開始。
同理何陆,類似問題
{ name: "mc", id: 1 }
會報錯
Uncaught SyntaxError: Unexpected token :
也是這個道理晨汹。
({ name: "mc", id: 1 })
即可正確解析。但稍注意下贷盲,
{name: "mc"}
是不會報錯的淘这,它等同于
name: "mc"
,并返回一個字符串
"mc"
巩剖。
第二個
很簡單铝穷,js解釋器會把數字后的
.
當做小數點而不是點操作符。
第三個
我們可以先嘗試交換下連等賦值順序(
a = a.x = {n: 2};
)佳魔,可以發(fā)現輸出不變曙聂,即順序不影響結果。
那么現在來解釋對象連等賦值的問題:按照es5規(guī)范鞠鲜,題中連等賦值等價于
a.x = (a = {n: 2});
宁脊,按優(yōu)先獲取左引用(
lref
)断国,然后獲取右引用(
rref
)的順序,
a.x
和
a
中的a都指向了
{n: 1}
榆苞。至此稳衬,至關重要或者說最迷惑的一步明確。
(a = {n: 2})
執(zhí)行完成后坐漏,變量
a
指向
{n: 2}
薄疚,并返回
{n: 2}
;接著執(zhí)行
a.x = {n: 2}
,這里的
a
就是
b
(指向
{n: 1}
)仙畦,所以
b.x
就指向了
{n: 2}
输涕。
第四個
逗號操作符會從左到右計算它的操作數,返回最后一個操作數的值慨畸。所以
(temp.foo, temp.foo)();
等價于
var fun = temp.foo; fun();
莱坎,
fun
調用時
this
指向
window
,所以返回20寸士。
第五個
parseInt(arg)
時會調用
arg.toString()
檐什。
(0.000008).toString() // "0.000008"
? ? ? ? ? ? ? ? ? ? (0.0000008).toString() // "8e-7"
到此今天的談論就結束了,雖然說文章不是很詳細如果想要更多關于java學習的知識歡迎加入12 777 9002弱卡,編號單純乃正,更好的學習java,但也希望可以幫到大家婶博。