《高階程式設計》整理

2021-09-24 22:51:57 字數 1428 閱讀 3023

在喜馬拉雅上聽了沙翼的《高階程式設計》的音訊課程,記錄了一些題目當做整理複習用

q1

js區分大小寫,html和css不區分大小寫。那麼請問,js在html中是否區分?

a: onclick不區分,triggerclick區分

q2

漢字是否可以作為變數名 可以,但不推薦

q3

分號是否為必寫的?

不是。js在執行時若沒有分號,會給兩行合併執行,可能會有錯誤難定位,所以不推薦使用。例如第二行如果是小括號會認為是執行函式。

這也是為啥有些**裡會在開頭加分號。

當涉及到return break continue不會和下一行合併,所以return後面有內容的時候不要換行。

q4

var a=『asd』;a.length=4; 輸出a.length為undefined,為什麼?

基本型別沒有屬性,當給賦值時會自動生成乙個物件,之後就會銷毀掉。

a.touppercase() a不變同理;

q4

0.1+0.2 不等於 0.3 為啥?

因為你用的十進位制,而計算機是二進位制,計算機只能將最接近的數返回給你。

可以(0.1*1000 + 0.2*1000)/1000

math.abs(0.1+0.2-0.3) < =number.epsilon
q5

物件屬性的查詢可以用.和,具體是怎麼實現的?

1.js遇到.或者會先判斷變數是否為null或者undefined,是的話直接報錯。

2.變數是不是物件,不是的話轉成物件。

3. .後面的會直接轉成字串,而會先進行計算,而後轉為字串,這也就是為什麼a[『1』] a[1]效果相同

4. 屬性本身不存在,返回undefined。

q6

一元加減是如何實現的?

會把表示式轉成數字,如果是減加負號。

q7

a=1; b=a+++a; a b 各多少?

1.優先順序 屬性訪問的優先順序最高,第二是一元運算子;

例如a=3;++a==3;false 因為先一元運算後==

2.結合性

js中所有的一元運算,三元,賦值都是從右向左;其他都是從左向右;

a=b= c=d 先d賦值c,c賦值給b,b給a,因為賦值是從右向左。

q8

a&&b||c 和 a?b:c

以上兩個是一樣的,通常ifelse會用第一種,賦值用第二種

q97>6>5 false 從左向右計算

Unix環境高階程式設計 閱讀體會整理

二 steedhorse 我覺得當你自己還不知道怎麼看的時候,也只能一步一步看了。zlcqupt 哈哈,有人指點畢竟要快一點,現在這個社會,要快啊 steedhorse 呵呵,還是慢慢啃吧。對於初學者來說,常常看三本薄書不如啃一本厚書,入了門了就可以多讀些高階的薄書了。當然,隨著不斷地讀進去,自己也...

js高階整理

var stu 工廠方式建立 var stu1 student zs 20 var stu2 student ls 13 建構函式方式 如果是建構函式,函式名一般大寫。function student name,age 例項化物件 var stu newstudent zs 20 var stu2 ...

GDB高階命令整理

和windows相似的追蹤功能 在上設定乙個觀察點 gdb watch var並使該觀察點有條件 gdb cond var value如果你想記錄到乙個檔案 gdb set logging file gdb set logging on預設情況下gdb會記錄到gdb.txt 2 列印自定義型別 wg...