點(diǎn)操作符: 靜態(tài)的袜腥。右側(cè)必須是一個(gè)以屬性名稱命名的簡單標(biāo)識符茬贵。屬性名用一個(gè)標(biāo)識符來表示郊霎。標(biāo)識符必須直接出現(xiàn)再js程序中沼头,
-
中括號操作符: 動(dòng)態(tài)的。方括號里必須是一個(gè)計(jì)算結(jié)果為字符串的表達(dá)式书劝,屬性名通過字符串表示进倍。字符串是js的數(shù)據(jù)類型,
- 用點(diǎn)的時(shí)候购对,后面需要是一個(gè)指定的屬性名稱,
- 用中括號的時(shí)候 猾昆,括號里面可以是變量或者字符串,
- 所以用點(diǎn)的時(shí)候后面一定要是一個(gè)指定的 屬性名洞斯,用[]時(shí)候后面一定是一個(gè)變量或者固定屬性名的字符串毡庆。
- 可以用數(shù)字作為屬性名,而點(diǎn)語法不可以;
- 可以用變量作為屬性名或訪問,而點(diǎn)方法不可以;
- 可以動(dòng)態(tài)訪問的屬性名坑赡,可以在程序運(yùn)行時(shí)創(chuàng)建和修改屬性烙如,點(diǎn)操作符就不行
- 如果屬性名中包含會導(dǎo)致語法錯(cuò)誤的字符,或者屬性名是關(guān)鍵字或者保留字毅否,也可以使用方括號表示法亚铁。
https://www.cnblogs.com/ljt1412451704/p/8683158.html
-
通過為圖片添加
.img-responsive
類可以讓圖片支持響應(yīng)式布局。- 其實(shí)質(zhì)是為圖片設(shè)置了
max-width: 100%;
螟加、height: auto;
和display: block;
屬性徘溢,從而讓圖片在其父元素中更好的縮放。
- 其實(shí)質(zhì)是為圖片設(shè)置了
-
.form-control
類- 如果需要在表單中將一行純文本和
label
元素放置于同一行捆探,為<p>
元素添加.form-control-static
類即可然爆。 - 這個(gè)類 就是讓表單文本框元素具有一定的樣式
- 如果需要在表單中將一行純文本和
.container
類用于固定寬度并支持響應(yīng)式布局的容器。.container-fluid
類用于 100% 寬度黍图,占據(jù)全部視口(viewport)的容器曾雕。 移動(dòng)端時(shí)候可使用Bootstrap 有一個(gè) class 屬性叫做
well
,它的作用是為設(shè)定的列創(chuàng)造出一種視覺上的深度感(一種視覺上的效果助被,動(dòng)手寫代碼體會一下)剖张。 沒啥作用....jQuery有一個(gè)
.prop()
的方法讓你來調(diào)整元素的屬性.jQuery有一個(gè)
appendTo()
方法可以把選中的元素加到其他元素中切诀。-
jQuery的
clone()
方法可以拷貝元素。$("#target2").clone().appendTo("#right-well");
jQuery有一個(gè)方法叫
parent()
搔弄,它允許你訪問指定元素的父元素幅虑。jQuery 用CSS選擇器來選取元素,
target:nth-child(n)
CSS選擇器允許你按照索引順序(從1開始)選擇目標(biāo)元素的所有子元素顾犹。jQuery里的索引是從0開始的倒庵,也就是說:
:odd
選擇第2、4炫刷、6個(gè)元素哄芜,因?yàn)閠arget#2(索引為1),target#4(索引為3)柬唯,target6(索引為5认臊。-
第二種訪問對象的方式就是中括號操作符(
[]
),如果你想訪問的屬性的名稱有一個(gè)空格锄奢,這時(shí)你只能使用中括號操作符([]
)失晴。- 提示:屬性名稱中如果有空格,必須把屬性名稱用單引號或雙引號包裹起來拘央。
- 中括號操作符的另一個(gè)使用方式是用變量來訪問一個(gè)屬性涂屁。當(dāng)你需要遍歷對象的屬性列表或查表時(shí),這種方式極為有用灰伟。
-
我們通過變量名訪問屬性的時(shí)候拆又,不需要給變量名包裹引號。因?yàn)閷?shí)際上我們使用的是變量的值栏账,而不是變量的名稱帖族。
var myDog = "Hunter"; var dogs = { Fido: "Mutt", Hunter: "Doberman", Snoopie: "Beagle" } var breed = dogs[myDog]; console.log(breed)// "Doberman"
-
給對象添加屬性。
- ourDog.bark = "bow-wow";
- ourDog["bark"] = "bow-wow";
-
同樣可以刪除對象的屬性
- delete ourDog.bark; delete 這條屬性可以進(jìn)行刪除
有時(shí)檢查一個(gè)對象屬性是否存在是非常有用的挡爵,我們可以用
.hasOwnProperty(propname)
方法來檢查對象是否有該屬性竖般。如果有返回true
,反之返回false
茶鹃。-
通過串聯(lián)起來的點(diǎn)操作符或中括號操作符來訪問JSON對象的嵌套屬性涣雕。
var item = "sasd"; console.log(typeof item) //string if(item) { console.log('就會執(zhí)行') } else { console.log('就不會執(zhí)行') } //就會執(zhí)行
-
如果你有一個(gè)二維數(shù)組,可以使用相同的邏輯闭翩,先遍歷外面的數(shù)組挣郭,再遍歷里面的子數(shù)組。下面是一個(gè)例子:
var arr = [ [1,2], [3,4], [5,6] ]; for (var i=0; i < arr.length; i++) { for (var j=0; j < arr[i].length; j++) { console.log(arr[i][j]); } }
用
Math.floor()
向下取整 獲得它最近的整數(shù)疗韵。記住
Math.random()
永遠(yuǎn)不會返回1
兑障。同時(shí)因?yàn)槲覀兪窃谟?Math.floor()
向下取整-
Math.floor(Math.random() * (max - min + 1)) + min
- 返回一個(gè)在
myMin
(包括myMin)和myMax
(包括myMax)之間的隨機(jī)數(shù)。
- 返回一個(gè)在
-
我們可以把這個(gè)正則表達(dá)式分成幾段: /the/gi
-
/
是這個(gè)正則表達(dá)式的頭部 -
the
是我們想要匹配的模式 -
/
是這個(gè)正則表達(dá)式的尾部 -
g
代表著global
(全局),意味著返回所有的匹配而不僅僅是第一個(gè)旺垒。 -
i
代表著忽略大小寫彩库,意思是當(dāng)我們尋找匹配的字符串的時(shí)候忽略掉字母的大小寫。
-
match
-
特殊選擇器中的一種就是數(shù)字選擇器
\d
先蒋,意思是被用來獲取一個(gè)字符串的數(shù)字骇钦。-
在JavaScript中, 數(shù)字選擇器類似于:
/\d/g
。在選擇器后面添加一個(gè)加號標(biāo)記(
+
)竞漾,例如:/\d+/g
眯搭,它允許這個(gè)正則表達(dá)式匹配一個(gè)或更多數(shù)字。尾部的
g
是'global'的簡寫业岁,意思是允許這個(gè)正則表達(dá)式 找到所有的匹配而不是僅僅找到第一個(gè)匹配鳞仙。
-
-
我們也可以使用正則表達(dá)式選擇器
\s
來選擇一個(gè)字符串中的空白。- 空白字符有
" "
(空格符)笔时、\r
(回車符)棍好、\n
(換行符)、\t
(制表符) 和\f
(換頁符)允耿。 - 空白正則表達(dá)式類似于: /\s+/g
- 空白字符有
舉個(gè)例子:
\s
匹配任何空白字符借笙,\S
匹配任何非空白字符。-
使用構(gòu)造函數(shù)時(shí)较锡,我們通過在它前面使用
new
關(guān)鍵字 來對它進(jìn)行調(diào)用业稼,如下:var myCar = new Car();
-
myCar
現(xiàn)在成為了Car
的一個(gè) 實(shí)例(instance),它被 構(gòu)造函數(shù) 描述成下面的樣子:{ wheels: 4, engines: 1, seats: 1 }
記茁煸獭:要使用
new
關(guān)鍵字 去調(diào)用構(gòu)造函數(shù)低散。因?yàn)橹挥羞@樣,-
Javascript才知道這是要去構(gòu)造一個(gè)新 對象 骡楼,并且把構(gòu)造函數(shù)中的
this
指向這個(gè)新對象熔号。myCar.turboType = "twin";
我們的
myCar
變量現(xiàn)在有了一個(gè)turboType
屬性了,且值為"twin"
君编。
-
對象擁有自己的特征跨嘉,稱為
屬性
川慌,對象還有自己的函數(shù)吃嘿,稱為方法
。map
方法會迭代數(shù)組中的每一個(gè)元素梦重,并根據(jù)回調(diào)函數(shù)來處理每一個(gè)元素兑燥,最后返回一個(gè)新數(shù)組。注意琴拧,這個(gè)方法不會改變原始數(shù)組降瞳。
- 數(shù)組方法
reduce
用來迭代一個(gè)數(shù)組,并且把它累積到一個(gè)值中。使用
reduce
方法時(shí)挣饥,你要傳入一個(gè)回調(diào)函數(shù)除师,這個(gè)回調(diào)函數(shù)的參數(shù)是一個(gè) 累加器 (比如例子中的previousVal
) 和當(dāng)前值 (currentVal
)。reduce
方法有一個(gè)可選的第二參數(shù)扔枫,它可以被用來設(shè)置累加器的初始值汛聚。如果沒有在這定義初始值,那么初始值將變成數(shù)組中的第一項(xiàng)短荐,而currentVal
將從數(shù)組的第二項(xiàng)開始倚舀。-
var array = [4,5,6,7,8]; var singleVal = 0; // 只能在這一行下面寫代碼 var singleVal = array.reduce(function(previousVal,currentVal) { return previousVal + currentVal; }); // 30
使用
reduce
方法來讓array
中的所有值相加,并且把結(jié)果賦值給singleVal
忍宋。
-
filter
方法用來迭代一個(gè)數(shù)組痕貌,并且按給出的條件過濾出符合的元素。-
filter
方法傳入一個(gè)回調(diào)函數(shù)糠排,這個(gè)回調(diào)函數(shù)會攜帶一個(gè)參數(shù)舵稠,參數(shù)為當(dāng)前迭代的項(xiàng)(我們叫它val
)。回調(diào)函數(shù)返回
true
的項(xiàng)會保留在數(shù)組中入宦,返回false
的項(xiàng)會被過濾出數(shù)組柱查。var oldArray = [1,2,3,4,5,6,7,8,9,10];
// 只能在這一行下面寫代碼
var newArray = oldArray.filter(function(val) {
return val < 6;
}); // 1 2 3 4 5 -
-
使用
sort
方法,你可以很容易的按字母順序或數(shù)字順序?qū)?shù)組中的元素進(jìn)行排序云石。-
與我們之前用的數(shù)組方法僅僅返回一個(gè)新數(shù)組不同唉工,
sort
方法將改變原數(shù)組,返回被排序后的數(shù)組汹忠。sort
可以把比較函數(shù)作為參數(shù)傳入淋硝。比較函數(shù)有返回值,當(dāng)a
小于b
宽菜,返回一個(gè)負(fù)數(shù)谣膳;當(dāng)a
大于b
,返回一個(gè)正數(shù)铅乡;相等時(shí)返回0继谚。如果沒有傳入比較函數(shù),它將把值全部轉(zhuǎn)成字符串阵幸,并按照字母順序進(jìn)行排序花履。
-
-
你可以使用
reverse
方法來翻轉(zhuǎn)數(shù)組。var myArray = [1, 2, 3]; myArray.reverse();
- 結(jié)果myArray 變成了 [3, 2, 1]
-
concat
方法可以用來把兩個(gè)數(shù)組的內(nèi)容合并到一個(gè)數(shù)組中挚赊。concat
方法的參數(shù)應(yīng)該是一個(gè)數(shù)組诡壁。參數(shù)中的數(shù)組會拼接在原數(shù)組的后面,并作為一個(gè)新數(shù)組返回荠割。-
下面是一個(gè)拼接數(shù)組的例子妹卿,用
concat
把otherArray
拼接在oldArray
的后面:newArray = oldArray.concat(otherArray);
-
使用
.concat()
將concatMe
拼接到oldArray
后面粘室,并且賦值給newArray
箱舞。var oldArray = [1,2,3]; var newArray = []; var concatMe = [4,5,6]; // 只能在這一行下面寫代碼 newArray = oldArray.concat(concatMe);
-
你可以使用
split
方法按指定分隔符將字符串分割為數(shù)組颅夺。你要給
split
方法傳遞一個(gè)參數(shù)忘衍,這個(gè)參數(shù)將會作為一個(gè)分隔符。-
下面的例子展示了
split
方法的使用铺纽,按照s
字母進(jìn)行分割:var array = string.split('s'); // 使用 split 方法來把字符串 string 分割為數(shù)組 array扒吁。
-
使用
split
方法來把字符串string
分割為數(shù)組array
。var string = "Split me into an array"; var array = []; // 只能在這一行下面寫代碼 array = string.split(" ");
-
我們還可以使用
join
方法來把數(shù)組轉(zhuǎn)換成字符串室囊,里面的每一個(gè)元素可以用你指定的連接符來連接起來雕崩,這個(gè)連接符就是你要傳入的參數(shù)。-
join
來將數(shù)組中的每一項(xiàng)放入字符串融撞,并用and
進(jìn)行連接:
var veggies = ["Celery", "Radish", "Carrot", "Potato"]; var salad = veggies.join(" and "); console.log(salad); // "Celery and Radish and Carrot and Potato"
- 使用
join
方法盼铁,連接符為' '
把數(shù)組joinMe
轉(zhuǎn)化成字符串joinedString
.
var joinMe = ["Split","me","into","an","array"]; var joinedString = ''; // 只能在這一行下面寫代碼 var joinedString = joinMe.join(' ');
-