中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java Script中入門知識點有哪些

發布時間:2021-10-15 11:14:58 來源:億速云 閱讀:108 作者:小新 欄目:web開發

這篇文章將為大家詳細講解有關Java Script中入門知識點有哪些,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

什么是JavaScript?

JavaScript是一種運行在客戶端的腳本語言


基本輸入輸出語句

功能語句
打印輸出console.log()
彈出輸出框alert
彈出輸入框prompt
文件寫入document.write(’’)
  • 小理論:
    console.log可以輸出任何類型的數據,alert只能輸出String類型的數據,且只能輸出第一個數據,如果alert輸出的是對象會自動調用toString()方法。


變量

聲明變量 var (name)

  • 一些注意事項

    • 一次聲明多個變量的時候必須用逗號進行隔開,而且必須換行,寫在同一行的多個聲明變量會無效。

    • 未初始化的變量直接輸出結果是undfined

    • 變量的命名規范: 字母數字下劃線美元符號(不以數字開頭)

    • 變量初始化中,單引號和雙引號沒有區別


數據類型

JavaScipt是一種> 動態/弱類型 語言

Num數字型Boolean布爾型Str字符串型Undefined未知的值Null空

js的變量數據類型是只有程序在運行過程中,根據等號右邊的值來確定的,也被稱為動態數據類型

常用語句:

IsNAN() //判斷值是否為非數字
//轉義符: \n換行 \t縮進 \b空格
str.length  //獲取字符串長度

小理論

  • undefined和數字相加,結果是NaN

  • null+1等于1

  • prompt取過來的值是字符型.

對于prompt取值做加法,有以下加法案例:

//demo onevar a,
	b
	;a = parseInt(prompt('請輸入第一個值'));
	b = parseInt(prompt('請輸入第二個值'));
	var c = a + b;
	alert (c);
	//demo two
	var a = prompt('請輸入第一個值');
	var b = prompt('請輸入第二個值');
	var c = Number(a) + Number(b);
	alert (c);

字符串轉換(chrom顏色為黑)

  • 變量.toString()

  • String()強制轉換

  • 隱式轉換:+拼接

  • 字符串模板拼接 我的年齡是${age}歲 (注意反引號不要掉了)

數字型轉換(chrom顏色為藍)

  • Parselnt()轉換為整數型

  • parseFloat()轉換為浮點型

  • Number()強制轉換函數

  • 隱式轉換:- * / 算術運算隱式轉換

布爾型轉換(chrom顏色為藍)

  • 空、否定會被轉換為false:如 ‘’、 0 、 NaN 、 null 、 undefined
    其余全部為true


運算符

==默認轉換數字類型,會把字符型轉換成數字型
===全等, 要求數值和數據類型都一樣

優先級:

  • 括號

  • 單目 (右結合右至左)

  • 算數*/%

  • 位移

  • 關系

  • 相等

  • 邏輯&^| &&||

  • 賦值

  • 逗號


選擇語句

  • if沒什么好說的

  • switch注意事項:
    case的值判斷是全等運算判斷


數組

  • 創建數組的方式
    1.利用new創建數組

var arr = new Array() //注意的是,new A必須大寫
var arr = new Array(2); //表示數據長度2
var arr = new Array(2, 3); //表示里面有兩個元素是2和3

2.利用字面量創建數組

var arr = [];

3.獲取數組的長度

arr.length

也可通過arr.length = (Number)的方式來修改數組長度

注意點:

  • 多余的地址/空地址/未定義數組元素默認值為undefined
    拿C語言舉例,字符數組默認后面都是有一個\0結束的,而下標越界會導致程序錯誤,JS這樣設置的好處就是可以不定義數組長度,或者預先給到地址空間。
    4.實現數組遷移,從而不需要定義索引/下標變量

newArry[new.Arry.length] = arr[i++];

數組的常用內置對象

1.判斷數組

// var arr = [];
arr instanceof Array //Instanceof運算符判斷是否為數組
Array.isArray(arr)  //isArray判斷是否為數組

2.添加數組元素

arr.push() //在數組最后添加一個或多個數組元素
arr.unshift() //在數組最前面添加一個或多個數組元素

實用:push可以實現給新的空數組賦值,且push和unshift都有返回值,為新數組的length

3.刪除數組元素

arr.pop()  //刪除數組中最后一個元素
arr.shift()  //刪除數組中第一個元素

有返回值,為刪除的元素值

4.翻轉/逆置數組

arr.reverse()

5.數組排序

arr.sort() //對個位數進行冒泡排序

理論:為什么說是對個位數進行冒泡排序,因為sort比較數組會先把數組轉換成字符串,所以77會比8更先,但是如果有了比較函數(compareFunction)的指定,就能實現按要求排列

arr.sort解決方案

arr.sort(function(a,b)) {
	return a - b;
	//return b - a

a - b為升序排序,b - a為降序排序

6.查找數組

arr.indexOf('word');

從前往后查找返回數組滿足條件第一個元素的索引號,如果找不到則返回-1

arr.lastIndexOf('word');

從后往前查找返回數組滿足條件第一個元素的索引號,如果找不到則返回-1

7.轉換成字符串

arr.toString() //數組轉換成字符串
arr.join() //將數組轉換成字符串,且括號內可以寫分隔符,表示用什么符號格式進行分隔 arr.join('&')

Arguments 偽數組 只有在函數中能夠使用

同樣按照下標的方式存儲數據,可以不定義長度實現形參接收


函數

  • 聲明函數:

  • Function 函數名 () { }

  • var 變量名 = Function () { } 函數表達式(匿名函數)

  • 預解析

    就是把JS中所有的var和function提到當前作用域的最前面

  • 變量預解析
    提前所有的變量聲明(不提賦值操作)

  • 函數預解析
    提前所有的函數聲明(不調用函數)
    → 所以要額外注意函數表達式和聲明函數的預解析

理論:

  • 如果形參多于實參,按前取;如果有實參沒有被傳值,默認是undefined

  • Return返回一個值,但是如果return[ ] 且有多個表達式以逗號隔開,那返回值會是整個[]的 所有 運算結果

  • !!如果函數沒有返回值,那么返回的是undefined !!

  • 在函數內部直接賦值的變量屬于全局變量

  • 函數的形參是局部變量

  • 塊級作用域: {} (es6新增,其他版本在括號里面定
    義的變量也能在外面調用

  • 作用域鏈:多個函數嵌套的時候會形成作用域鏈,子函數能訪問父函數的塊作用域


對象

  • 什么是對象?
    對象是一組無序的相關屬性和方法的集合(字符串,數值,數組,函數)
    在其他語言中,類似 >結構體 >字典

創建自定義對象和對象屬性、對象方法:

  1. 字面量創建

var obj = {
	name:'姓名',
	age : 999,
	//*方法*冒號后跟一個*匿名函數*
	printf:function() {
		console.log('hello world');
	}
	}

記憶方法↓:

  • 直接給對象名、屬性冒號跟值+語句結束逗號

  • 方法用冒號

  • 取值:對象名.屬性名 or 對象名[‘屬性名’]

  • 調用對象方法: 對象名.方法名();

  1. new object

var obj = new Object();
obj.name = '李昂';
obj.age = 999;
obj.printf:function(){
	console.log('hello world');
	}

記憶方法↓:

  • var對象名 = new Object (); 不加分號

  • 對象名.屬性 = 取值 + 分號

  • 方法用冒號

  • 取值:對象名.屬性名 or 對象名[‘屬性名’]

  • 調用對象方法: 對象名.方法名();

3.構造函數

function Obj (Uname, Uage) {
this.name = Uname;
this.age = Uage;
this.printf = function(infoms){
	console.log(infoms);
	}
	}

記憶方法↓:

  • 類似函數聲明,但是構造函數函數名首字母必須大寫,this.屬性

  • 方法用等號

  • 構造函數必須得有變量傳值,構造函數的方法也必須有變量傳值

  • 調用構造函數 var 變量 = new 構造函數名(傳遞的值)

var myobj = new Obj('李昂', '999');//可以理解為創建了一個變量指定了構造函數
console.log(myobj.name);
console.log(myobj['age']);
obj.printf('hello world');

new的執行過程

  • new構造函數會在內存中創建一個空的對象

  • this就會指向剛才創建的對象

  • 接著依次執行屬性、方法,并返回

新循環遍歷

For (變量 in 對象){
}
這里的變量是屬性值做遍歷
屬性的的輸出:consolo.log(對象[變量]);
程序員在for in 的變量喜歡寫Key或者i

一些可用內置對象:

Math.PI //求圓周率
Math.max()//返回最大數值(如果無值返回負無窮大)
Math.abc ()//取絕對值
Math.floor()//向下取整
Math.ceil()//向上取整
Math.round()//四舍五入(五特殊 往大了取)
  • 隨機數

Math.random() ;
  • 返回一個隨機浮點數【0,1)括號里不跟參數
    ↓ 擴展:得到自定義最大值和最小值中間的隨機函數

Function getRandomInt(min, max) {
	min = Math.ceil(min); //規范值語句 可省
	max = Math.floor(max); //規范值語句 可省
	return = Math.floor(Math.random() * (max - min + 1) + min);
  • new Date()調用日期對象 不跟參數返回系統時間

  • (‘2021-10-10 8:00:00’)字符串輸出

  • (2021, 10, 10)數字輸出 月份從0開始11結束 故而要在月份的基礎上+1

  • 變量.getDay()獲取當前星期,星期日從0開始 到星期六6結束 獲取到的值是一個數字
    ↓規范獲取當前時間 demo

var date1 = new Date;
var year = date1.getFunllYear();
var month = date1.getMonth();
var dates = date1.getDate();
var day = date1.getDay();
var arr = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
alert('今天的日期是:' + year + '年' + (month+1) + '月' + dates + '日' + arr[day]);

==值得注意的是,必須使用變量調用Date這個構造函數

基本包裝類型:

  • 就是把簡單數據類型包裝成復雜數據類型,這樣基本數據類型就有了屬性和方法,那么一般來說在瀏覽器里面JS引擎會自動幫我們把簡單數據類型包裝成復雜數據類型

var str = 'lion';
 console.log(str.length);
 //JS如何給我們的數據包裝
 var temp = new String('lion');//定義一個臨時構造函數包含初始化的字符串
 str = temp; //把構造函數賦給值類型
 temp = null; //最后舍棄臨時變量
  • 一些可用的字符串內置對象

  1. 查找字符串

str.indexOf('要查找的字符串',[起始位置]);
//demo:
var str = '我的名字是什么,名字不重要';
console.log(str.indexOf('名字', 3));
  1. 查找指定字符

str.charAt(0); //返回指定下標的字符
str.charCodeAt(0); //返回指定下標的ASCII碼
  1. 拼接字符串

str.concat('word') //拼接字符串(開發中隱性拼接居多)
  1. 查找某一連續字符

str.substr('抓起始位置', '抓幾個字符'); //查找某一連續字符
  1. 替換字符

str.replace('被替換的字符', '替換為字符') //如果字符串中有重復的字符,只會替換第一個
  1. 字符串轉換成數組

split('分隔符') //把字符串轉換為數組(被轉換字符串中必須要寫分隔符,而且要與split的分隔符統一!)

一些傳參和類型的–
理論深入:

  • 簡單類型又被稱為基本類型或者值類型 因為存儲是值本身

  • 系統自動分配釋放存放函數的值,局部變量的值,被稱為棧

  • 復雜類型又叫引用類型 因為存儲的是地址 調用的時候需要專門引用

  • 現在棧里面存放16進制地址碼,然后指向堆里面的數據(對象實例),被稱為堆復雜類型傳參,如果不是傳值,傳的指針,也就是傳地址

  • 特殊: Null返回的是一個空的對象(因為程序的設計缺陷)

  • 可以定義變量為Null,稍后再給值

關于“Java Script中入門知識點有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

肇庆市| 柳林县| 湛江市| 长汀县| 博白县| 香格里拉县| 墨脱县| 临沭县| 大城县| 曲水县| 五莲县| 钟祥市| 故城县| 西吉县| 沅陵县| 普陀区| 仲巴县| 拜泉县| 西畴县| 英山县| 宜章县| 夏河县| 通道| 秦皇岛市| 海兴县| 康保县| 潼关县| 吴忠市| 申扎县| 长汀县| 五峰| 乌兰县| 竹溪县| 屏南县| 出国| 赣榆县| 滦南县| 大理市| 万载县| 广灵县| 辽宁省|