基礎(chǔ)概念

參考教程,廖雪峰

數(shù)據(jù)類型

Number

js不區(qū)分整數(shù)合浮點數(shù),統(tǒng)一使用Number。
NaN:表示Not a Number ,無法使用Number計算時用NaN。
Infinity:表示無限大,當數(shù)值超過Number所能表示的最大值時使用。

比較運算符==和===

==,會自動轉(zhuǎn)換數(shù)據(jù)類型。
===,不會轉(zhuǎn)換數(shù)據(jù)類型,數(shù)據(jù)類型不一樣,返回false。類型一樣時,再比較數(shù)值。
NaN與其他所有值都不相等,包括自身。
判斷NaN的方法通過isNaN()函數(shù):isNaN(NaN);

浮點型的比較

由于計算機無法準確地表示無限循環(huán)的小數(shù),所以比較兩個浮點型數(shù)據(jù)大小,只能比較兩個值的差值絕對值是否小于某個閾值。

1/3 === (1 - 2/3);  //false
Math.abs(1/3 - (1 - 2/3)) < 0.000001;  //true
null和undefined

null:表示空,undefined:表示未定義
兩者區(qū)分不大,一般只在判斷函數(shù)參數(shù)是否傳遞的情況下用undefinded。

數(shù)組

var array = [1, 2, 3, 'js', true, null];
數(shù)組表示按順序排列的集合,和Java不同,js的數(shù)組可以包含任意數(shù)據(jù)類型。
還可以使用

new Array(1, 2,3);
對象

js對象是一組鍵-值隊的無序集合

var person = {
         name:'Royal',
         age:25,
         phone:1110120110,
         school:null
};
strict模式

js申明變量使用var關(guān)鍵字。若不使用var,則是全局變量。
全局變量在同一個頁面的不同js文件中會相互影響。
ECMA為此推出了strict模式,該模式下強制使用var聲明變量。
使用strict模式時,在js代碼前加上一句:

'use strict';
多行字符串

由于多行字符串用 \n
寫起來比較費事,所以最新的ES6標準新增了一種多行字符串的表示方法,用* ... *表示:

alert(
`多行
字符串
測試`
);
多個字符串連接

可以同java一樣,使用+連接
ES6新增了一種模板字符串,使用${ var },它會自動替換字符串中的變量:

var name = 'Js';
var age = 20;
alert(`Hello,${name},age = ${age}`);
數(shù)組

JS的數(shù)組可以動態(tài)改變數(shù)組的大小,java數(shù)組的大小在初始化時確定后,不能調(diào)整。
使用數(shù)組的length屬性,可以獲取數(shù)組的大小。
直接給length賦值可以改變數(shù)組的大小。

var array = [1,2,3,4,5];
array.length; //length為5
array.length = 10; //length變?yōu)?0

通過索引可以給數(shù)組賦值,如果索引超過數(shù)組的大小范圍,也會改變數(shù)組的大小。

var array = [1,2,3];
array[1] = 20;//[1,20,3]
array[4] = 100; // [1,20,3,undefined,100]

Array和String都可以通過indexOf()來搜索一個指定的元素的位置

var str = "this is a string";
str.indexOf('str');//返回10
str.indexOf('royal');//沒有,返回-1
var arr = [10, 20, '30', 'xyz'];
arr.indexOf(10); // 元素10的索引為0
arr.indexOf(20); // 元素20的索引為1
arr.indexOf(30); // 元素30沒有找到,返回-1
arr.indexOf('30'); // 元素'30'的索引為2

slice()就是對應(yīng)String的substring()版本,它截取Array的部分元素,然后返回一個新的Array.
均是左閉右開。

var arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
arr.slice(0, 3); // 從索引0開始,到索引3結(jié)束,但不包括索引3: ['A', 'B', 'C']
arr.slice(3); // 從索引3開始到結(jié)束: ['D', 'E', 'F', 'G']

若不傳遞參數(shù),則從開始截取到結(jié)束,conger復(fù)制這個數(shù)組。

var,let和const

var申明的變量的作用域是函數(shù)級的。
let申明的變量的作用域是塊級的。
const申明的變量的作用域是塊級的的常量。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 標識符 標識符是指變量、函數(shù)、屬性的名字,或者函數(shù)的參數(shù)(參數(shù):函數(shù)自變量)。標識符的書寫有幾個特征: 區(qū)分大小寫...
    風(fēng)隨風(fēng)去閱讀 349評論 2 1
  • 第一章: JS簡介 從當初簡單的語言,變成了現(xiàn)在能夠處理復(fù)雜計算和交互,擁有閉包、匿名函數(shù), 甚至元編程等...
    LaBaby_閱讀 1,761評論 0 6
  • 第5章 引用類型(返回首頁) 本章內(nèi)容 使用對象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學(xué)一百閱讀 3,679評論 0 4
  • 酷暑向左,深圳往右,炎炎夏日,豐盛暑期。美麗的海濱城市一一深圳歡迎你。深圳,地處廣東南部,珠江三角洲東岸,與香港一...
    旅行作家好嘢閱讀 451評論 0 1
  • 陰天 在不開燈的房間 把所有思緒都一點一點沉淀 ——莫文蔚 晨...
    Daisy十六閱讀 577評論 7 12

友情鏈接更多精彩內(nèi)容