1.如果我們在控制臺中執行下列語句,結果分別是什么?為什么?
```
>>> var a;typeof a;
number
```
```
>>> var s = '1s';s++;
NaN
```
```
>>> !!"valse";
true
```
```
>>> typeof -Infinity;
number
```
```
>>> 10 % "0";
NaN
```
```
>>> undefined == null
true
```
```
>>> false === "";
false
```
```
>>> typeof "2E+2";
string
```
```
>>> a = 3e+3;a++;
3000
```
2.執行下面的語句后,v的值會是什么?
```
>>> var v = v || 10;
undefined
>>> v;
10
```
```
>>> var v = 100;
undefined
>>> var v = v || 10;
undefined
>>> v
100
```
```
>>> var v = 0;
undefined
>>> var v = v || 10;
undefined
>>> v
10
```
```
>>> var v = null;
undefined
>>> var v = v || 10;
undefined
>>> v
10
```
3.寫一個打印乘法口訣表的腳本程序。利用嵌套循環實現。
```
>>> var result = '';
undefined
>>> for(var i = 1;i < 10;i++){
... for(var j = 1;j < 10;j++){
... result += i + '*' + j + '=' + i*j + ' ';
... }
... result += '\n';
... }
1*1=1 1*2=2 1*3=3 1*4=4 1*5=5 1*6=6 1*7=7 1*8=8 1*9=9
2*1=2 2*2=4 2*3=6 2*4=8 2*5=10 2*6=12 2*7=14 2*8=16 2*9=18
3*1=3 3*2=6 3*3=9 3*4=12 3*5=15 3*6=18 3*7=21 3*8=24 3*9=27
4*1=4 4*2=8 4*3=12 4*4=16 4*5=20 4*6=24 4*7=28 4*8=32 4*9=36
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 5*6=30 5*7=35 5*8=40 5*9=45
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 6*7=42 6*8=48 6*9=54
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 7*8=56 7*9=63
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 8*9=72
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
```
- 前言
- 第1章 面向對象的JavaScript
- 1.6 面向對象的程序設計
- 1.6.1 對象
- 1.6.2 類
- 1.6.3 封裝
- 1.6.4 聚合
- 1.6.5 繼承
- 1.6.6 多態
- 1.7 OOP小結
- 第2章 基本數據類型、數組、循環及條件表達式
- 2.1 變量
- 2.2 操作符
- 2.3 基本數據類型
- 2.3.1 查看類型操作符
- 2.3.2 數字
- 2.3.3 字符串
- 2.3.3.1 字符串轉換
- 2.3.3.2 特殊字符串
- 2.3.4 布爾值
- 2.3.4.1 邏輯運算符
- 2.3.4.2 操作符優先級
- 2.3.4.3 惰性求值
- 2.3.4.4 比較運算符
- 2.3.5 undefined與null
- 2.4 基本數據類型綜述
- 2.5 數組
- 2.5.1 增加、更新數組元素
- 2.5.2 刪除元素
- 2.5.3 數組的數組
- 2.6 條件與循環
- 2.6.1 if條件表達式
- 2.6.1.1 三元運算符
- 2.6.1.2 switch語句
- 2.6.2 else語句
- 2.6.3 代碼塊
- 2.6.4 檢查變量是否存在
- 2.6.5 循環
- 2.6.5.1 while循環
- 2.6.5.2 do-while循環
- 2.6.5.3 for循環
- 2.6.5.4 for-in循環
- 2.7 注釋
- 第2章 面試題
- 第2章 面試題及解答
- 第3章 函數
- 主要內容
- 3.1 什么是函數
- 3.1.1 調用函數
- 3.1.2 參數
- 3.2 預定義函數
- 3.2.1 parseInt
- 3.2.2 parseFloat
- 3.2.3 isNaN
- 3.2.4 ifFinite
- 3.2.5 URI的編碼與反編碼
- 3.2.6 eval
- 3.2.7 alert
- 3.3 變量的作用域
- 3.4 函數也是數據
- 3.4.1 匿名函數
- 3.4.2 回調函數
- 3.4.3 回調示例
- 3.4.4 既時函數
- 3.4.5 內部(私有)函數
- 3.4.6 返回函數的函數
- 3.4.7 能重寫自己的函數
- 3.5 閉包
- 3.5.1 作用域鏈
- 3.5.2 利用閉包突破作用域鏈
- 3.5.3 getter與setter
- 3.5.4 迭代器
- 第3章 面試題
- 第3章 面試題及解答
- 第4章 對象
- 4.1 從數組到對象
- 4.1.1 元素、屬性、方法與成員
- 4.1.2 哈希表、關聯型數組
- 4.1.3 訪問對象屬性
- 4.1.4 調用對象方法
- 4.1.5 修改屬性與方法
- 4.1.6 使用this值
- 4.1.7 構造器函數
- 4.1.8 全局對象
- 4.1.9 構造器屬性
- 4.1.10 instanceof操作符
- 4.1.11 返回對象的函數
- 4.1.12 傳遞對象
- 4.1.13 比較對象
- 4.1.14 Webkit控制臺中的對象
- 4.2 內建對象
- 4.2.1 Object
- 4.2.2 Array
- 4.2.3 Function
- 第8章 編程模式與設計模式
- 8.1 編程模式
- 8.1.1 行為隔離
- 8.1.2 命名空間