搜尋
首頁web前端js教程關於面試發展常用的 JavaScript 知識點總結

No1.語法和類型

1.聲明定義

變數類型:var,定義變數;let,定義區塊域(scope)本地變數;const ,定義只讀常數。
變數格式:以字母、底線「_」或$符號開頭,大小寫敏感。
變數賦值:宣告但未賦值的變數在使用時值為undefined,未宣告的變數直接使用會拋異常。
未賦值變數作計算:結果為NaN。例如:

var x, y = 1;
console.log(x + y); //结果为NaN,因为x没有赋值。

2.作用域

變數作用域:在ES6之前沒有區塊宣告域,變數作用於函數區塊或全域。如下面的程式碼輸入的x為5。

if (true) {
var x = 5;
}
console.log(x); // 5

ES6變數作用域:ES6支援區塊作用域,但需要使用let宣告變數。下面的程式碼輸出結果拋出異常。

f (true) {
let y = 5;
}
console.log(y); // ReferenceError: y is not defined1234

變數上浮:在一個方法或全域程式碼中,我們在生命變數之前使用變數時並沒有拋異常,而是回傳undefined。這是因為javascript自動把變數的宣告上浮到函數或是全域的最前面。如下面的程式碼:

/**
* 全局变量上浮
*/
console.log(x === undefined); // logs "true"
var x = 3;

/**
* 方法变量上浮
*/
var myvar = "my value";
// 打印变量myvar结果为:undefined
(function() {
console.log(myvar); // undefined
var myvar = "local value";
})();

上面程式碼和下面程式碼是等價的:

/**
* 全局变量上浮
*/
var x;
console.log(x === undefined); // logs "true"
x = 3;

/**
* 方法变量上浮
*/
var myvar = "my value";
(function() {
var myvar;
console.log(myvar); // undefined
myvar = "local value";
})();

全域變數:在頁面中,全域物件是window,所以我們存取全域變數可透過window. variable。例如:

version = "1.0.0";
console.log(window.version); //输出1.0.0

No2.資料結構與型別

1.資料型別

6個基礎型別:Boolean(true或false)、null(js大小寫敏感,和Null、NULL是有區別的)、undefined、Number、String、Symbol(標記唯一和不可變)
一個物件類型:object。
object和function:物件作為值的容器,函數作為應用程式的過程。

2.資料轉換

函數:字串轉換為數字可使用parseInt和parseFloat方法。

parseInt:函數簽章為parseInt(string, radix),radix是2-36的數字表示數字基數,例如十進位或十六進位。傳回結果為integer或NaN,例如下方輸出結果都為15。

parseInt("0xF", 16);
parseInt("F", 16);
parseInt("17", 8);
parseInt(021, 8);
parseInt("015", 10);
parseInt(15.99, 10);
arseInt("15,123", 10);
parseInt("FXX123", 16);
parseInt("1111", 2);
parseInt("15*3", 10);
parseInt("15e2", 10);
parseInt("15px", 10);

parseFloat:函數簽名為parseFloat(string),傳回結果為數字或NaN。例如:

parseFloat("3.14"); //返回数字
parseFloat("314e-2"); //返回数字
parseFloat("more non-digit characters"); //返回NaN

3.資料類型文字化

文字化類型:Array、Boolean、Floating-point 、integers、Object、RegExp、String。
Array中額外的逗號情況:["Lion", , "Angel"],長度為3,[1]的值為undefiend。 ['home', , 'school', ],最後一個逗號省略所以長度為3。 [ , 'home', , 'school'],長度為4。 ['home', , 'school', , ],長度為4。
integer整數:整數可以表示為十進位、八進位、十六進位、二進位。例如:

0, 117 and -345 //十进制
015, 0001 and -0o77 //八进制
0x1123, 0x00111 and -0xF1A7 //十六进制
0b11, 0b0011 and -0b11 1234 //二进制

浮點數:[(+|-)][digits][.digits][(E|e)[(+|-)]digits]。例如:

3.1415926,-.123456789,-3.1E+12(3100000000000),.1e-23(1e-24)

物件:物件的屬性取得值可透過「.屬性」或「[屬性名稱]」取得。例如:

var car = { manyCars: {a: "Saab", "b": "Jeep"}, 7: "Mazda" };
console.log(car.manyCars.b); // Jeep
console.log(car[7]); // Mazda

物件屬性:屬性名稱可以是任意字串或空字串,無效的名字可透過引號包含。複雜的名字不能透過.獲取,但可以透過[]獲取。例如:

var unusualPropertyNames = {
"": "An empty string",
"!": "Bang!"
}
console.log(unusualPropertyNames.""); // SyntaxError: Unexpected string
console.log(unusualPropertyNames[""]); // An empty string
console.log(unusualPropertyNames.!); // SyntaxError: Unexpected token !
console.log(unusualPropertyNames["!"]); // Bang!

轉意字元:下面的字串輸出結果包含了雙引號,因為使用了轉意符號“\””。

var quote = "He read \"The Cremation of Sam McGee\" by R.W. Service.";
console.log(quote);
//输出:He read "The Cremation of Sam McGee" by R.W. Service.1。

字串換行法:直接在字符序列結束時加入“\”,如下程式碼所示:

var str = "this string \
is broken \
across multiple\
lines."
console.log(str); // this string is broken across multiplelines.

No3.控制流程與錯誤處理

1.區塊表達式

##作用:區塊表達式一般用於控制流,像if、for、while。實際上是包含在方法或全域中,變數的影響超出了區塊作用域的範圍。區塊域範圍:在ES6中,我們可以把區塊域宣告var改成let,讓變數只作用域block範圍。 false、undefined、null、0、NaN、”"。

簡單boolean和物件Boolean類型:簡單boolean類型的false和true與物件Boolean類型的false和true是有區別,兩者是不相等的。面的範例:

while (x < 10) {
x++;
}

No4.異常處理

1.例外類型

拋出例外語法:拋例外可以是任意型別。

var x = 1;
{
var x = 2;
}
console.log(x); // outputs 2

自訂例外:

var b = new Boolean(false);
if (b) // 返回true
if (b == true) // 返回false

2.語法

關鍵字:使用try{}catch(e){}finally{}語法,和C#語法相似。

finally回傳值:如果finaly加入了return 語句,則不管整個try.catch回傳什麼,回傳值都是finally的return。且catch中有throw異常。對象,例如:throw (new Error('The message'));

以上就是關於面試開發常用的JavaScript 知識點總結的內容,更多相關內容請關注PHP中文網(www.php. cn)!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
es6数组怎么去掉重复并且重新排序es6数组怎么去掉重复并且重新排序May 05, 2022 pm 07:08 PM

去掉重复并排序的方法:1、使用“Array.from(new Set(arr))”或者“[…new Set(arr)]”语句,去掉数组中的重复元素,返回去重后的新数组;2、利用sort()对去重数组进行排序,语法“去重数组.sort()”。

JavaScript的Symbol类型、隐藏属性及全局注册表详解JavaScript的Symbol类型、隐藏属性及全局注册表详解Jun 02, 2022 am 11:50 AM

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于Symbol类型、隐藏属性及全局注册表的相关问题,包括了Symbol类型的描述、Symbol不会隐式转字符串等问题,下面一起来看一下,希望对大家有帮助。

原来利用纯CSS也能实现文字轮播与图片轮播!原来利用纯CSS也能实现文字轮播与图片轮播!Jun 10, 2022 pm 01:00 PM

怎么制作文字轮播与图片轮播?大家第一想到的是不是利用js,其实利用纯CSS也能实现文字轮播与图片轮播,下面来看看实现方法,希望对大家有所帮助!

JavaScript对象的构造函数和new操作符(实例详解)JavaScript对象的构造函数和new操作符(实例详解)May 10, 2022 pm 06:16 PM

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于对象的构造函数和new操作符,构造函数是所有对象的成员方法中,最早被调用的那个,下面一起来看一下吧,希望对大家有帮助。

JavaScript面向对象详细解析之属性描述符JavaScript面向对象详细解析之属性描述符May 27, 2022 pm 05:29 PM

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于面向对象的相关问题,包括了属性描述符、数据描述符、存取描述符等等内容,下面一起来看一下,希望对大家有帮助。

javascript怎么移除元素点击事件javascript怎么移除元素点击事件Apr 11, 2022 pm 04:51 PM

方法:1、利用“点击元素对象.unbind("click");”方法,该方法可以移除被选元素的事件处理程序;2、利用“点击元素对象.off("click");”方法,该方法可以移除通过on()方法添加的事件处理程序。

整理总结JavaScript常见的BOM操作整理总结JavaScript常见的BOM操作Jun 01, 2022 am 11:43 AM

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于BOM操作的相关问题,包括了window对象的常见事件、JavaScript执行机制等等相关内容,下面一起来看一下,希望对大家有帮助。

20+道必知必会的Vue面试题(附答案解析)20+道必知必会的Vue面试题(附答案解析)Apr 06, 2021 am 09:41 AM

本篇文章整理了20+Vue面试题分享给大家,同时附上答案解析。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
1 個月前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用