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
文件,(可以添加async
或defer
異步執(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í)最高。
可以看下這篇文章,能學(xué)到很多
// 輪播圖動(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ā)事件
$(".zxg-download").offset().top
, 這樣就不會(huì)有問(wèn)題了.$(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>
var total = [0,1,2,3,4].reduce((a, b)=>a + b); //10
reduce接受一個(gè)函數(shù),函數(shù)有四個(gè)參數(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()
方法向/從數(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]
在現(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]
用指定間隔符連起來(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
var a = ["aa","bb","cc"];
a.pop(); //cc
var a = ["aa","bb","cc"];
a.shift();
// -> aa
a
// -> bb,cc
==注:當(dāng)數(shù)組為空時(shí),返回undefined==
var a = ["aa","bb","cc"];
a.unshift();
//4 注:IE下返回undefined
var a = [11,2,3,33445,5654,654,"asd","b"];
a.sort() // -> 11,2,3,33445,5654,654,asd,b
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
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)); // -> 空
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)==
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ù)組==
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í)間
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方法==
array.every(function(currentValue,index,arr), thisValue)
如果數(shù)組中檢測(cè)到有一個(gè)元素不滿(mǎn)足,則整個(gè)表達(dá)式返回 false ,且剩余的元素不會(huì)再進(jìn)行檢測(cè)。
如果所有元素都滿(mǎn)足條件,則返回 true。
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ì)象
*/
filter() 方法創(chuàng)建一個(gè)新的數(shù)組,新數(shù)組中的元素是通過(guò)檢查指定數(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
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
var ages = [3, 10, 18, 20];
function checkAdult(age) {
return age >= 18;
}
function myFunction() {
document.getElementById("demo").innerHTML = ages.find(checkAdult);
}
//18
array.some(function(currentValue,index,arr),thisValue)
Array.prototype.includes方法返回一個(gè)布爾值,表示某個(gè)數(shù)組是否包含給定的值,與字符串的includes方法類(lèi)似。ES2016 引入了該方法。
// -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ū)分。
array.fill(value, start, end)
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.fill("Runoob");
//Runoob,Runoob,Runoob,Runoob
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"
類(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(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);
}
北大青鳥(niǎo)APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國(guó)IT技能型緊缺人才,是大數(shù)據(jù)專(zhuān)業(yè)的國(guó)家
北大青鳥(niǎo)中博軟件學(xué)院創(chuàng)立于2003年,作為華東區(qū)著名互聯(lián)網(wǎng)學(xué)院和江蘇省首批服務(wù)外包人才培訓(xùn)基地,中博成功培育了近30000名軟件工程師走向高薪崗位,合作企業(yè)超4
中公教育集團(tuán)創(chuàng)建于1999年,經(jīng)過(guò)二十年潛心發(fā)展,已由一家北大畢業(yè)生自主創(chuàng)業(yè)的信息技術(shù)與教育服務(wù)機(jī)構(gòu),發(fā)展為教育服務(wù)業(yè)的綜合性企業(yè)集團(tuán),成為集合面授教學(xué)培訓(xùn)、網(wǎng)
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國(guó)一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國(guó)成功上市,融資1
曾工作于聯(lián)想擔(dān)任系統(tǒng)開(kāi)發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_(kāi)發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫(kù),具有快速界面開(kāi)發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁(yè)制作和網(wǎng)頁(yè)游戲開(kāi)發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開(kāi)發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國(guó)Software AG 技術(shù)顧問(wèn),美國(guó)Dachieve 系統(tǒng)架構(gòu)師,美國(guó)AngelEngineers Inc. 系統(tǒng)架構(gòu)師。