日常整理系列——筆試刷題00002
1.RegExp物件的方法
JavaScript RegExp 物件有 3 個方法:test()、exec() 和 compile()。
(1) test() 方法用來檢測一個字串是否匹配某個正則表示式,如果匹配成功,返回 true ,否則返回 false;
(2) exec() 方法用來檢索字串中與正則表示式匹配的值。exec() 方法返回一個數組,其中存放匹配的結果。如果未找到匹配的值,則返回 null;
(3)compile() 方法可以在指令碼執行過程中編譯正則表示式,也可以改變已有表示式。
注意:match是支援正則表示式的String物件的方法
2、JavaScript的基礎資料型別統計
js七種資料型別:Sting Object null undefined Array Boolean Number
js五種基本型別:String Boolean Number null undefined
typeof六種返回格式:'string' 'number' 'object' 'function' 'boolean' 'undefined'
3、以下 javascript 程式碼,在瀏覽器中執行的結果是
答案:首先全部輸出first,然後全部輸出second
解析:首先js 是運行於單執行緒環境中,定時器作用是在規定時間內將事件加入執行佇列,而加入的前提是當前事件佇列沒有任何東西
4.執行一下程式碼,y和z的結果最後為
<script>
var m= 1, j = k = 0;
function add(n) {
return n = n+1;
}
y = add(m);
function add(n) {
return n = n + 3;
}
z = add(m);
</script>
正確答案為:4 4
解析:js裡面沒有函式過載的概念,在其他語言中(如java)java中,可以存在同名函式,只要傳入的引數數量或者型別不同即可。在js中,定義了兩個同名函式後,後面的函式會覆蓋前面定義的函式。結合這道題來說,由於函式宣告提升,所以函式宣告會提前,由於存在同名函式,後面的add函式將覆蓋第一個add函式,所以兩次呼叫add()返回的值是相同的。也就是y,z都為4
.
5.JavaScript 寫在 HTML 程式碼中的<body>標籤部分,會導致頁面在載入的時候自身被執行
這裡比較疑惑,根據瀏覽器對 HTML 檔案的解析是自上而下的,放在 <head></head> 內的 JS 是會被先請求的,但是解析優先順序由於 JS 引擎比瀏覽器渲染引擎要高,所以會導致 JS 先載入完才把主權交給瀏覽器渲染引擎,如果 JS 很大,就會因此會引起頁面卡頓,等 JS 載入完,這就是為什麼要把 JS 放在</body> 前的原因,網上很多例子說 <script></script> 程式碼放在 <head></head> 中要等請求才會載入,這點我去試了一下了,實際上程式碼的內容是被執行了的,只是那些對 DOM 的操作沒有效果,為什麼會沒效果?這是因為主權還在 JS 引擎,頁面的渲染還沒交給渲染引擎,所以獲取到的 DOM 節點是空的,因此才會沒效果。
6.一下程式碼的結果為
var x = new Boolean(false);
if (x) {
alert('hi');
}
var y = Boolean(0);
if (y) {
alert('hello');
}
正確答案:‘hi’
解析:
- if(x) 這裡期望 x 是一個布林型別的原始值,而 x 是一個物件,任何物件轉為布林值,都為得到 true(切記!在 JS 中,只有 0,-0,NaN,"",null,undefined 這六個值轉布林值時,結果為 false)。
- 題目的第二部分,一定要注意 y = Boolean(0),而不是 y = new Boolean(0)。這兩個有很大區別,用 new 呼叫建構函式會新建一個布林物件,此處沒有加 new,進行的是顯示型別轉換,正如上述第一條所說,0 轉換布林,結果為 false,所以此時 y 的值就是 false。如果加了 new,那麼 y 就是一個 Boolean 型別的物件,執行 if(y) 時,物件轉布林,始終是 true,所以結果會與不加 new 的時候相反。
7.javascirpt中的數字在計算機記憶體儲為8個Byte
解析:
關於Javascript中數字的部分知識總結:
1.Javascript中,由於其變數內容不同,變數被分為基本資料型別變數和引用資料型別變數。基本型別變數用八位元組記憶體,儲存基本資料型別(數值、布林值、null和未定義)的值,引用型別變數則只儲存對物件、陣列和函式等引用型別的值的引用(即記憶體地址)。
2. JS中的數字是不分型別的,也就是沒有byte/int/float/double等的差異。
相關推薦
日常整理系列——筆試刷題00002
1.RegExp物件的方法 JavaScript RegExp 物件有 3 個方法:test()、exec() 和 compile()。 (1) test() 方法用來檢測一個字串是否匹配某個正則表示式,如果匹配成功,返回 true ,否則返回 false; (2) exe
日常整理系列——筆試刷題00003
1、元素的alt和title的異同:alt是html標籤的屬性,而title既是html標籤,又是html屬性。 title標籤這個不用多說,網頁的標題就是寫在<title></title>這對標籤之內的。 title作為屬性時,用來為元素提供額外
筆試+刷題-圖論
qunar2019馬在8*8棋盤上從A到B最短需要幾步(DFS) package com.qunar; import java.util.Scanner; public class Main21 { private static Scanner input =new
java筆試刷題整合
1.輸入一個整數陣列,實現一個函式來調整該陣列中數字的順序,使得所有的奇數位於陣列的前半部分,所有的偶數位於位於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。(劍指Offer)
面試筆試刷題 C++ (持續更新)
1.閱讀C++語言程式碼輸出()12345678int main(){int arr[]={1,2,3,4,5,6,7};int *p=arr;*(p++)+=89;printf("%d,%d\n",*p,*(++p));return 0;}A.3 3 B.2 2
筆試刷題-滴滴
題目描述:(此題目是同一思路,另外的路徑儲存方式)/** 小青蛙有一天不小心落入了一個地下迷宮, 小青蛙希望用自己僅剩的體力值P跳出這個地下迷宮。 為了讓問題簡單,假設這是一個n*m的格子迷宮, 迷宮每個位置為0或者1,0代表這個位置有障礙物, 小青蛙達到不了這個位置;1代表
poj入門水題整理1--按刷題順序解釋
1.1000 A+B 就是熟悉平臺的一道題,下面有案例 2.1004 Financial Management 描述: Larry畢業之後掙錢了想知道他的財務狀況,他現在有他的存款清單,想知道他12個月的結餘有多少 輸入: 12行數字 輸出: 12個月的平均值,精確到分 解
筆試刷題總結
今天刷了一些筆試題,以下是刷完筆試題後看到的相關知識點的解析,做個小結。 1、多型主要以兩種形式,靜態多型和動態多型,靜態多型主要實現了函式過載和運算子過載。動態多型主要實現了虛擬函式。虛擬函式是動態聯編,程式在執行的過程中確定呼叫哪一個函式。 2、int *s[8];
筆試刷題-牛客網
題目描述: /** 給出一個含有n個數字的序列a1,a2,a3,...an,可以進行以下操作: 一次操作定義為對這個序列的每個數字進行以下兩種改變之一: 1.ai ÷ 2 2.ai × 3 每一次的操作中,必須保證至少有一個數字是第1種改變; 並且經過每次操作後,每一個數字
矩陣快速冪刷題系列
opened alt bit view multi long 快速 for each file 來源自http://blog.csdn.net/chenguolinblog/article/details/10309423 hdu 1575 Tr A Time Limit:
『整理』刷題計劃
單詞 偵探 math 郵票面值設計 自由 鬥地主 大賽 設計 矩形 NOIP 1998 車站 進制位 挖地雷 NOIP 1999 旅行家的預算 郵票面值設計 NOIP 2000 乘積最大 單詞接龍 稅收與補貼問題 NOIP 2001 一元三次方程求解 Car的
HASH刷題整理
pow 計數 n+1 又是 範圍 a* strings 循環 code HASH刷題整理 簡單整理了下自己學習hash時做的題 [poj3461]Oulipo 題目描述 這是一道模板題。 給定一個字符串A和一個字符串B,求B在A中的出現次數。A和B中的字符均為英語大寫字
Java日常刷題第十一天
選擇題 1.類 ABC 定義如下: 1 . public class ABC{ 2 . public double max( double a, double b) { } 3 . 4 . } 將以下哪個方法插入行 3 是不合法的。(B) A.pu
Java日常刷題第十天
選擇題 1.在使用super和this關鍵字時,在子類構造方法中使用super()顯示呼叫父類的構造方法,super()必須寫在子類構造方法的第一行,否則編譯不通過. 解析:1)呼叫super()必須寫在子類構造方法的第一行,否則編譯不通過。每個子類構造方法的第一條語句,都是隱含地呼叫s
Java日常刷題第九天
1.java7後關鍵字 switch 支不支援字串作為條件:(錯) 解析:在Java7之前,Switch支援的條件型別: byte,short,chart,int,enum以及基本型別的封裝類,在Java7之後,開始支援字串型別。 2.佇列(Queue)是先進先出的。(對) 3.This呼叫
Java日常刷題第七天
選擇題 1.在類Tester中定義方法如下, public double max(int x, int y) { // 省略 } 則在該類中定義如下哪個方法頭是對上述方法的過載(Overload)?(B) A.public int max(int a, int b) {} B.p
Java日常刷題第六天
一、選擇題 1.下列關於Java語言的特點,描述錯誤的是(C。Java是面向過程的程式語言) A。Java是跨平臺的程式語言 B。Java支援分散式計算 C。Java是面向(物件)的程式語言 D。Java支援多執行緒 2.下列那個類的宣告是正確的?(D) A。abstract final
【日常刷題】NOIP練習題題解
NOIP練習題題解 1.小X與位運算 2.小x與機器人 3.賽車 4.whatbase 5.height 6.最優分解 7.angry 1.小X與位運算 題目描述 自從上次小X
【日常刷題】[SCOI2005]掃雷(多維動態規劃)
[SCOI2005]掃雷 我們對於這道題,我們可以採用DP的方法來解決。 我們設f[i][0/1][0/1][0/1]表示滿足前i個條件限制,第i-1,i,i+1分別放(1)和不放(0)的方案數。 對於a[i](第二列的數字),我們採用分類討論的方法來進行狀態轉移。 當a[i
【日常刷題】最長括號匹配DP
最長括號匹配 這道題目看似可以使用棧來做,實則用DP可以更加簡單。 我們設 f [ i