鍍金池/ 問(wèn)答/ HTML問(wèn)答
懶洋洋 回答

ctrl+k,ctrl+b試一下;連續(xù)按這是個(gè)連續(xù)指令

我教你個(gè)辦法吧,你去官網(wǎng)重新下載一個(gè),安裝前記得把本地的sublime卸載干凈還有文件夾刪干凈再安裝

插件的我給你網(wǎng)址去安裝常用的插件 https://segmentfault.com/a/11...

我也是用了3年多的sublime喜歡他的簡(jiǎn)潔與清爽,但是還是不是很方便,我建議你使用vs code,風(fēng)格和sublime差不多 https://code.visualstudio.com/

笨小蛋 回答
object.onclick=function(){
  // do something

  object.onclick = null
}
莓森 回答

這個(gè)回到瀏覽器渲染html頁(yè)面的流程來(lái)解析,這個(gè)渲染過(guò)程是單線(xiàn)程,順序執(zhí)行(從上到下),引入外部文件有個(gè)加載(下載)過(guò)程,自然會(huì)堵塞下面內(nèi)容的加載。
一般情況下link樣式文件放置在head頭部,解析成DOM樹(shù),完成這一步再加載js文件,(可以添加asyncdefer異步執(zhí)行)。
具體驗(yàn)證方法可以查看這篇文章:解析頁(yè)面加載與js函數(shù)的執(zhí)行 onload or ready

裸橙 回答

我大概會(huì)這樣子做

<td :class="'cls_'+item.code">....</td>
<td><a @click="myCopy(item.code)">復(fù)制</td>
myCopy(code){
//document.getElementByClassName('cls_'+code)
}

復(fù)制文本的話(huà)可參考:https://www.cnblogs.com/wisew...

墨小羽 回答

你可以創(chuàng)建一個(gè)webpack.config.js
在這個(gè)文件中自己配置,系統(tǒng)會(huì)加載的。并且優(yōu)先級(jí)最高。

墨小羽 回答
  1. 終于找到問(wèn)題來(lái)源了, 果然是頁(yè)面加載的問(wèn)題, 在頁(yè)面頂部有一組輪播圖, 我通過(guò)判斷屏幕尺寸來(lái)動(dòng)態(tài)獲取圖片資源, 代碼如下:
// 輪播圖動(dòng)態(tài)選擇圖片
  var items = $('.carousel-inner .item');
  $(window).on('resize',function () {
    var width = $(window).width();
    if(width >= 768) {
      $(items).each(function (index,value) {
        var imgSrc = $(this).data("largeImage");
        $(this).find(".carousel-box").html($('<a href="javascript:;" class="pcImg"></a>').css("backgroundImage","url('"+imgSrc+"')"));
      });
    }else {
      $(items).each(function (index,value) {
        var imgSrc = $(this).data("smallImage");
        $(this).find(".carousel-box").html('<a href="javascript:;" class="mobileImg"><img src="'+imgSrc+'" alt="..."></a>');
      })
    }
  }).trigger('resize');  // 自動(dòng)觸發(fā)事件
  1. 在設(shè)置樣式時(shí)我給pcImg設(shè)置了700px的高度, 圖片加載較慢, 還沒(méi)有設(shè)置高度就獲取了動(dòng)畫(huà)元素的偏移量, 所以出錯(cuò)了;
  2. 我的解決辦法很簡(jiǎn)單, 就是在滾動(dòng)的時(shí)候一直去獲取$(".zxg-download").offset().top, 這樣就不會(huì)有問(wèn)題了.
  3. 不知道還有沒(méi)有更好的辦法, 比如等到圖片加載出來(lái)之后再去執(zhí)行函數(shù), 我用了$(function(){})沒(méi)效果, 不知道為什么.
孤星 回答
transition 標(biāo)簽換成 transition-group 

病癮 回答

父組件和組件內(nèi)部都可以。都是通過(guò)dispatch來(lái)請(qǐng)求,怎么方便怎么來(lái)。

乞許 回答

問(wèn)題描述不清楚

[[1,2,3],['a','b','c'],['A','B','C']]

[[1,2,3],['a','b','c'],['A','B']]

[[1,2],['a','b','c'],['A','B','C']]

[[1,2,3],['a',['x','y'],'c'],['A','B','C']]
心上人 回答

wow.js引起的 目前問(wèn)題未知 沒(méi)有具體去排查。 用到wow.js這個(gè)庫(kù)的重點(diǎn)排查一下 input點(diǎn)擊輸入的問(wèn)題

最新排查是 linkedme引起的未知bug 看源碼是這貨創(chuàng)建了一個(gè)input框 然后做什么用就不清楚了,導(dǎo)致無(wú)法輸入

初心 回答

var num = 0
setInterval(function(){

num++

},5000) 用戶(hù)有操作是情況 num清零 num達(dá)到臨界值 跳轉(zhuǎn)

遲月 回答

entry: {

app: "./src/main.js"

}
改為
entry: {

app: ["babel-polyfill", "./src/main.js"]

}
main 不要import 了

莫小染 回答

學(xué)會(huì)看報(bào)錯(cuò),你沒(méi)有正確引入el-popover指令
加上

import {
  Popover
} from "element-ui";
Vue.component(Popover.name, Popover);
雨萌萌 回答

這個(gè)效果沒(méi)辦法通過(guò)theme來(lái)統(tǒng)一處理,所以就只有通過(guò)重寫(xiě)antd的樣式來(lái)處理了。
辦法是:
找到tree item對(duì)應(yīng)的樣式,然后重寫(xiě)這個(gè)樣式。

骨殘心 回答

"{" 括號(hào)報(bào)錯(cuò)了

你要寫(xiě) const obj = {} 嗎

任她鬧 回答

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<style>
*{margin: 0;padding: 0;}
li{list-style: none;}
#xmenu{width: 100%;height: auto;}
.a{width: 100%;height: 100px;background-color: #888888;text-align: center;line-height: 100px;}
#xmenu li{width: 100%;height: auto;color:#ffffff;text-align: center;}
#xmenu span{display:block;width: 200px;height: 240px;background-color: rgba(8,8,8,.8);margin: 0 auto;}
#xmenu span p{line-height: 60px;}
</style>
<body>

<div id="xmenu">
    <ul>
        <li>
            <div class="a">0</div>
            <span>
                <div>
                    <p>1111</p>
                    <p>2222</p>
                    <p>3333</p>
                    <p>4444</p>
                </div>
            </span>
        </li>
    </ul>
</div>

</body>
</html>

舊顏 回答

一、reduce

var total = [0,1,2,3,4].reduce((a, b)=>a + b); //10
reduce接受一個(gè)函數(shù),函數(shù)有四個(gè)參數(shù),分別是:
  • 1、上一次的值;
  • 2、當(dāng)前值;
  • 3、當(dāng)前值的索引;
  • 4、數(shù)組;
我們還是以上面那個(gè)數(shù)組為例,把這幾個(gè)參數(shù)打印出來(lái)看看:
[0, 1, 2, 3,4].reduce(function(previousValue, currentValue, index, array){
 return previousValue + currentValue;
});
reduce 還可以扁平化一個(gè)二維數(shù)組
var flattened = [[0, 1], [2, 3], [4, 5]].reduce(function(a, b) {
 return a.concat(b);
}, []);
// flattened == [0, 1, 2, 3, 4, 5]

二、splice

splice()
方法向/從數(shù)組中添加/刪除項(xiàng)目,然后返回被刪除的項(xiàng)目
[1,2,3,4,5].splice(2,0,9);
//[1,2,9,3,4,5]
[1,2,3,4,5].splice(2,2,9);
//[1,2,9,5]

三、concat

在現(xiàn)有數(shù)組后面追加數(shù)組,并返回新數(shù)組,不影響現(xiàn)有數(shù)組。
var arra = [1,2,3];
var arrb = [4,5,6];
var arrc = arra.concat(arrb);
//[1, 2, 3, 4, 5, 6]

四、join

用指定間隔符連起來(lái),把數(shù)組轉(zhuǎn)為字符串。
var arrstr = ['a','b','c','d','e','f','g'];
arrstr.join("*");
///"a*b*c*d*e*f*g"
但需要注意的是只轉(zhuǎn)換一維數(shù)組里面,如果數(shù)組里面還有數(shù)組,將不是采用join指定的字符串接,而是采用默認(rèn)的toString();
var a = ['a','b','c','d','e','f','g',[11,22,33]];
a.join("*");  
// -> a * b * c * d * e * f * g *    11,22,33

五、pop shift unshift

1.pop:刪除數(shù)組最后一個(gè)元素,并返回該元素

var a = ["aa","bb","cc"];
a.pop();  //cc

2.shift:刪除數(shù)組第一個(gè)元素,并返回該元素

var a = ["aa","bb","cc"];
a.shift();   
// -> aa
a
// -> bb,cc

==注:當(dāng)數(shù)組為空時(shí),返回undefined==

3.unshift:跟shift相反,往數(shù)組最前面添加元素,并返回?cái)?shù)組新長(zhǎng)度。

var a = ["aa","bb","cc"];
a.unshift();
//4 注:IE下返回undefined

六、sort reverse

1.sort: ANSI碼正序;

var a = [11,2,3,33445,5654,654,"asd","b"];
a.sort() // -> 11,2,3,33445,5654,654,asd,b

2.reverse :ANSI碼倒序;

var a = [11,3,5,66,4];
a.reverse();  
// -> 4,66,5,3,11
==如果數(shù)組里面還包含數(shù)組,則當(dāng)為對(duì)象處理,并不會(huì)把元素解出來(lái)==
var a = ['a','b','c','d','e','f','g',[4,11,33]];
a.reverse(); 
// -> 4,11,33,g,f,e,d,c,b,a
a.join(" * "); 
// -> 4,11,33 * g * f * e * d * c * b * a

七、slice splice

1.slice:返回?cái)?shù)組片段

var a = ['a','b','c','d','e','f','g'];
alert(a.slice(1,2));  // -> b
alert(a.slice(2));    // -> c,d,e,f,g
alert(a.slice(-4));   // -> d,e,f,g
alert(a.slice(-2,-6));    // -> 空

2.splice:從數(shù)組刪除某片段的元素,并返回刪除的元素

var a = [1,2,3,4,5,6,7,8,9];
document.write(a.splice(3,2));    // -> 4,5
document.write(a);        // -> 1,2,3,6,7,8,9
document.write(a.splice(4));  // -> 7,8,9 注:IE下返回空
document.write(a);        // -> 1,2,3,6
document.write(a.splice(0,1));    // -> 1
document.write(a);        // -> 2,3,6
document.write(a.splice(1,1,["aa","bb","cc"]));   // -> 3
document.write(a);        // -> 2,aa,bb,cc,6,7,8,9
document.write(a.splice(1,2,"ee").join("#")); // -> aa,bb,cc#6
document.write(a);        // -> 2,ee,7,8,9
document.write(a.splice(1,2,"cc","aa","tt").join("#"));  // -> ee#7
document.write(a);        // -> 2,cc,aa,tt,8,9
==注:注意該方法在IE下,第二個(gè)參數(shù)是必須的,不填則默認(rèn)為0,例如a.splice(4),在IE下則返回空,效果等同于a.splice(4,0)==

八、toString toLocaleString valueOf

1.toString:把數(shù)組轉(zhuǎn)為字符串,不只數(shù)組,所有對(duì)象均可使用該方法

var a = [1,2,[3,4],5];
a.toString();
//1,2,3,4,5

var b = 10;
b.toString(2);
// 1010   2進(jìn)制轉(zhuǎn)換

var a =    [5,6,7,8,9,["A","BB"],100];
document.write(a.toString());    // -> 5,6,7,8,9,A,BB,100
var b = new Date()
document.write(b.toString());    // -> Sat Aug 8 17:08:32 UTC+0800    2009
var c = function(s){
alert(s);
}
document.write(c.toString());    // -> function(s){ alert(s); }
布爾值則返回true或false,對(duì)象則返回[object objectname]
相比join()方法,join()只對(duì)一維數(shù)組進(jìn)行替換,而toString()則把整個(gè)數(shù)組(不管一維還是多維)完全平面化
同時(shí)該方法可用于10進(jìn)制、2進(jìn)制、8進(jìn)制、16進(jìn)制轉(zhuǎn)換,例如:
var a =  [5,6,7,8,9,"A","BB",100];
for(var i=0; i<a.length; i++){
document.write(a[i].toString()    + " 的二進(jìn)制是 "    + a[i].toString(2) + " ,八進(jìn)制是 " + a[i].toString(8) + " ,十六進(jìn)制是 " + a[i].toString(16));  //    -> 4,5
}
/**
5 的二進(jìn)制是 101 ,八進(jìn)制是 5 ,十六進(jìn)制是 5
6 的二進(jìn)制是 110 ,八進(jìn)制是 6 ,十六進(jìn)制是 6
7 的二進(jìn)制是 111 ,八進(jìn)制是 7 ,十六進(jìn)制是 7
8 的二進(jìn)制是 1000 ,八進(jìn)制是 10 ,十六進(jìn)制是 8
9 的二進(jìn)制是 1001 ,八進(jìn)制是 11 ,十六進(jìn)制是 9
A 的二進(jìn)制是 A ,八進(jìn)制是 A ,十六進(jìn)制是 A
BB 的二進(jìn)制是 BB ,八進(jìn)制是 BB ,十六進(jìn)制是 BB
100 的二進(jìn)制是 1100100 ,八進(jìn)制是 144 ,十六進(jìn)制是 64
*/
==注:轉(zhuǎn)換只能在元素進(jìn)行,如果對(duì)整個(gè)數(shù)組進(jìn)行轉(zhuǎn)換,則原封不動(dòng)返回該數(shù)組==

2.toLocaleString:返回本地格式字符串,主要用在Date對(duì)象上

var a = new Date();
document.write(a.toString());    // -> Sat Aug 8 17:28:36 UTC+0800    2009
document.write(a.toLocaleString());   // -> 2009年8月8日 17:28:36
document.write(a.toLocaleDateString());   // -> 2009年8月8日

區(qū)別在于,toString()返回標(biāo)準(zhǔn)格式,toLocaleString()返回本地格式完整日期(在【控制面板】>>【區(qū)域和語(yǔ)言選項(xiàng)】,通過(guò)修改[時(shí)間]和[長(zhǎng)日期]格式),toLocaleDateString()跟toLocaleString()一樣,只是少了時(shí)間

3.valueOf:根據(jù)不同對(duì)象返回不同原始值,用于輸出的話(huà)跟toString()差不多,但是toString()是返回string類(lèi)型,而valueOf()是返回原對(duì)象類(lèi)型

var a = [1,2,3,[4,5,6,[7,8,9]]];
var b = new Date();
var c = true;
var d = function(){
alert("sunnycat");
};
document.write(a.valueOf());    // -> 1,2,3,4,5,6,7,8,9
document.write(typeof (a.valueOf()));  // -> object
document.write(b.valueOf());    // -> 1249874470052
document.write(typeof(b.valueOf()));  // -> number
document.write(c.valueOf());    // -> true
document.write(typeof(c.valueOf()));  // -> boolean
document.write(d.valueOf());    // -> function () {    alert("sunnycat"); }
document.write(typeof(d.valueOf()));  // -> function
數(shù)組也是對(duì)象,所以typeof (a.valueOf())返回object,返回的依然是個(gè)多維數(shù)組
var a = [1,2,3,[4,5,6,[7,8,9]]];
var aa = a.valueOf();
document.write(aa[3][3][1]); // -> 8
==注:Date對(duì)象返回的是距離1970年1月1日的毫秒數(shù),Math和Error對(duì)象沒(méi)有valueOf方法==

九、every() filter() find() some() includes()

1.every

array.every(function(currentValue,index,arr), thisValue)
  • currentValue 必須。當(dāng)前元素的值
  • index 可選。當(dāng)期元素的索引值
  • arr 可選。當(dāng)期元素屬于的數(shù)組對(duì)象

  • every() 方法用于檢測(cè)數(shù)組所有元素是否都符合指定條件(通過(guò)函數(shù)提供)。
  • every() 方法使用指定函數(shù)檢測(cè)數(shù)組中的所有元素:
如果數(shù)組中檢測(cè)到有一個(gè)元素不滿(mǎn)足,則整個(gè)表達(dá)式返回 false ,且剩余的元素不會(huì)再進(jìn)行檢測(cè)。
如果所有元素都滿(mǎn)足條件,則返回 true。
  • 注意: every() 不會(huì)對(duì)空數(shù)組進(jìn)行檢測(cè)。
  • 注意: every() 不會(huì)改變?cè)紨?shù)組。
var a = [1,2,3,4,5];
function checkAdult(num){
    return num > 0
}
a.every(checkAdult);
//true
/**
array.every(function(currentValue,index,arr), thisValue)
currentValue    必須。當(dāng)前元素的值
index            可選。當(dāng)期元素的索引值
arr                可選。當(dāng)期元素屬于的數(shù)組對(duì)象
*/

2.filter

filter() 方法創(chuàng)建一個(gè)新的數(shù)組,新數(shù)組中的元素是通過(guò)檢查指定數(shù)組中符合條件的所有元素。

  • 注意: filter() 不會(huì)對(duì)空數(shù)組進(jìn)行檢測(cè)。
  • 注意: filter() 不會(huì)改變?cè)紨?shù)組。
ar ages = [32, 33, 16, 40];

function checkAdult(age) {
    return age >= 18;
}

function myFunction() {
    document.getElementById("demo").innerHTML = ages.filter(checkAdult);
}
//32,33,40

3.find

array.find(function(currentValue, index, arr),thisValue)

find() 方法返回傳入一個(gè)測(cè)試條件(函數(shù))符合條件的數(shù)組第一個(gè)元素。
find() 方法為數(shù)組中的每個(gè)元素都調(diào)用一次函數(shù)執(zhí)行:
當(dāng)數(shù)組中的元素在測(cè)試條件時(shí)返回 true 時(shí), find() 返回符合條件的元素,之后的值不會(huì)再調(diào)用執(zhí)行函數(shù)。
如果沒(méi)有符合條件的元素返回 undefined

  • 注意: find() 對(duì)于空數(shù)組,函數(shù)是不會(huì)執(zhí)行的。
  • 注意: find() 并沒(méi)有改變數(shù)組的原始值。
var ages = [3, 10, 18, 20];
 
function checkAdult(age) {
    return age >= 18;
}
 
function myFunction() {
    document.getElementById("demo").innerHTML = ages.find(checkAdult);
}
//18

4.some

array.some(function(currentValue,index,arr),thisValue)
  • some() 方法用于檢測(cè)數(shù)組中的元素是否滿(mǎn)足指定條件(函數(shù)提供)
  • 如果有一個(gè)元素滿(mǎn)足條件,則表達(dá)式返回true , 剩余的元素不會(huì)再執(zhí)行檢測(cè)。

5.includes

Array.prototype.includes方法返回一個(gè)布爾值,表示某個(gè)數(shù)組是否包含給定的值,與字符串的includes方法類(lèi)似。ES2016 引入了該方法。
  • indexOf方法有兩個(gè)缺點(diǎn),一是不夠語(yǔ)義化,它的含義是找到參數(shù)值的第一個(gè)出現(xiàn)位置,所以要去比較是否不等于-1,表達(dá)起來(lái)不夠直觀。二是,它內(nèi)部使用嚴(yán)格相等運(yùn)算符(===)進(jìn)行判斷,這會(huì)導(dǎo)致對(duì)NaN的誤判。[NaN].indexOf(NaN)

// -1

[1, 2, 3].includes(2)     // true
[1, 2, 3].includes(4)     // false
[1, 2, NaN].includes(NaN) // true
下面代碼用來(lái)檢查當(dāng)前環(huán)境是否支持該方法,如果不支持,部署一個(gè)簡(jiǎn)易的替代版本。
const contains = (() =>
  Array.prototype.includes
    ? (arr, value) => arr.includes(value)
    : (arr, value) => arr.some(el => el === value)
)();
contains(['foo', 'bar'], 'baz'); // => false
另外,Map 和 Set 數(shù)據(jù)結(jié)構(gòu)有一個(gè)has方法,需要注意與includes區(qū)分。
  • Map 結(jié)構(gòu)的has方法,是用來(lái)查找鍵名的,比如Map.prototype.has(key)、WeakMap.prototype.has(key)、Reflect.has(target, propertyKey)。
  • Set 結(jié)構(gòu)的has方法,是用來(lái)查找值的,比如Set.prototype.has(value)、WeakSet.prototype.has(value)。

十、fill

array.fill(value, start, end)
  • fill() 方法用于將一個(gè)固定值替換數(shù)組的元素
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.fill("Runoob");
//Runoob,Runoob,Runoob,Runoob

十一、entries() keys() values()

ES6 提供三個(gè)新的方法——entries(),keys()和values()——用于遍歷數(shù)組。它們都返回一個(gè)遍歷器對(duì)象(詳見(jiàn)《Iterator》一章),可以用for...of循環(huán)進(jìn)行遍歷,唯一的區(qū)別是keys()是對(duì)鍵名的遍歷、values()是對(duì)鍵值的遍歷,entries()是對(duì)鍵值對(duì)的遍歷。
for (let index of ['a', 'b'].keys()) {
  console.log(index);
}
// 0
// 1

for (let elem of ['a', 'b'].values()) {
  console.log(elem);
}
// 'a'
// 'b'

for (let [index, elem] of ['a', 'b'].entries()) {
  console.log(index, elem);
}
// 0 "a"
// 1 "b"

十二、Array.from()

類(lèi)數(shù)組對(duì)象轉(zhuǎn)數(shù)組
let arrayLike = {
  '0': 'a',
  '1': 'b',
  '2': 'c',
  length: 3
};

// TypeError: Cannot spread non-iterable object.
let arr = [...arrayLike];

十三、Array.of()

  • Array.of方法用于將一組值,轉(zhuǎn)換為數(shù)組
Array.of(3, 11, 8) // [3,11,8]
Array.of(3) // [3]
Array.of(3).length // 1
Array.of() // []
Array.of(undefined) // [undefined]
Array.of(1) // [1]
Array.of(1, 2) // [1, 2]

//模擬實(shí)現(xiàn)
function ArrayOf(){
  return [].slice.call(arguments);
}