JavaScript的基礎知識
var a=false;
!a&&alert("hi");
解釋 a為真才繼續往下執行,所以會彈出hi
var a=a||"hi";
解釋 當a為假的時候會繼續執行,當a為真的時候跳出這個語句,所以可以通過這個辦法複製默認值
上面的方法並非所有語言都是如此處理,比如PHP
$a=@$a||"hi";
echo $a;//1
php把(@$a||"hi")之後的值賦值過去了...
$a=true;
!$a&&echo "hi";
直接報錯:syntax error, unexpected T_ECHO
關於prototype
很多情況下看到prototype都想到只有對象的情況下有
var add=function(){alert("b");}
otype.a = function () {alert("hi");}
new otype.a;
第一反應,可能會報錯,其實不然,當沒有生產對象的時候,可以通過otype.a的方式直接調用靜態的方法的
JS挺會誤導人的,咳
選擇器問題:
有時候需要選擇一個節點下的子節點,用childNodes取值FIREFOX,IE的不同讓人很鬱悶
lementsByTagName("head")[0]lementsByTagName("script")[0];
上面的方法結果用在head標籤階段還好,用在其他的.不怎麼好用了
所有覺得還是用個類名作處理好點
複製代碼 代碼如下:
function getclassnode(classname,doc){
doc=doc||document;
var node=[],i=0,j=0,t;
var allnode=lementsByTagName("*");
while(t=allnode[i]){
if(RegExp(classname)(sName)){
node[j]=t;
j++;
}
i++;
}
return node;
}
自從用了JQ後,把原生的JS操作都忘的差不多了,偶爾複習下,感覺特麻煩,鬱悶.
補上一點今天發現的JS要注意的地方,如果一個JS已經引入到了當前文檔,即使移除引入節點,通過該引入JS文件定義的變量,函數等仍然有效,因為已經加載到了當前的文檔環境,如下代碼:
複製代碼 代碼如下:
lementsByTagName("head")[0]veChild(lementsByTagName("head")[0]lementsByTagName("script")[0]);
-
JavaScript數據結構與算法中集合的實現
集合(Set)説起集合,就想起剛進高中時,數學第一課講的就是集合。因此在學習集合這種數據結構時,倍感親切。集合的基本性質有一條:集合中元素是不重複的。因為這種性質,所以我們選用了對象來作為集合的容器,而非數組。雖然數組也能做到所有不重複,但終究過於繁瑣,不如集...
-
網頁設計很糟糕的10個原因
個好的網頁設計,不僅吸引眼球,也是實用的、直觀的、層級簡單卻足夠複雜到保持用户的興趣。但是不好的網頁設計是由很多原因造成的,下面是關於網頁設計很糟糕的10個原因,歡迎閲讀了解!沒有足夠的空白空白可以説是設計中最重要的一部分。它有助於防止用户在瀏覽網站時...
-
PHP開發工程師的具體職責14篇
PHP開發工程師的具體職責1職責:1、對公司新的網站項目、系統項目、小程序項目進行開發;2、維護支持公司現有的網絡和系統平台工作運行;3、按時、獨立、高質量地完成工作,確保相關代碼邏輯的正確性及健壯性;4、開發、維護、升級和優化系統,並能快速定位並及時修復...
-
淺析JavaScript基本類型與引用類型
兩種類型:ECMAScript變量包含兩種不同類型的值:基本類型值、引用類型值;基本類型值:指的是保存在棧內存中的簡單數據段;引用類型值:指的是那些保存在堆內存中的`對象,意思是,變量中保存的實際上只是一個指針,這個指針指向內存中的另一個位置,由該位置保存對象;兩種訪問方...