2019-06-10

js基礎(chǔ)知識

相等運算符:

相等運算符用來比較兩個值是否相等,如果相等會返回True,否則返回flase

使用 == 來做相等運算

當(dāng)使用==來比較兩個值時,如果值的類型不同,則會自動進行類型轉(zhuǎn)換,將其轉(zhuǎn)換為相同的類型,然后再比較

不相等!=來做運算

不相等用來判斷兩個值是否不相等,如果不相等返回true,否則返回false
- 使用 != 來做不相等運算
- 不相等也會對變量進行自動的類型轉(zhuǎn)換,如果轉(zhuǎn)換后相等它也會返回false

全等 === 來做全等運算
  • 用來判斷兩個值是否全等,它和相等類似,不同的是它不會做自動的類型轉(zhuǎn)換
    如果兩個值的類型不同,直接返回false
不全等!==

用來判斷兩個值是否不全等,和不等類似,不同的是它不會做自動的類型轉(zhuǎn)換
如果兩個值的類型不同,直接返回true

注意:

1.undefined衍生null,所以這兩個值做相等判斷時,會返回true
2.NaN不和任何值相等,包括它本身
都回返回false
3.可以通過isNaN()函數(shù)來判斷一個值是否是NaN,如果該值是NaN則返回true,否則返回false

條件運算符:

條件運算符也叫三元運算符
語法:
條件表達式?語句1:語句2;
- 執(zhí)行的流程:
條件運算符在執(zhí)行時,首先對條件表達式進行求值,
如果該值為true,則執(zhí)行語句1,并返回執(zhí)行結(jié)果
如果該值為false,則執(zhí)行語句2,并返回執(zhí)行結(jié)果
如果條件的表達式的求值結(jié)果是一個非布爾值,會將其轉(zhuǎn)換為布爾值然后在運算
例如:

true?alert("語句1"):alert("語句2");
false?alert("語句1"):alert("語句2");

如果是比較值的大小,可以使用如下代碼運行:

var a = 300;
var b = 143;
var c = 50; 
a > b ? alert("a大"):alert("b大");        
//獲取a和b中的最大值
var max = a > b ? a : b;
//獲取a b c 中的最大值
max = max > c ? max : c;

運算符的優(yōu)先級

聲明變量時可以使用(,)來同時聲明那個多個變量并賦值
例如:

var a=1, b=2, c=3; 

就和數(shù)學(xué)中一樣,在JS中運算符也有優(yōu)先級,
比如:先乘除 后加減
在JS中有一個運算符優(yōu)先級的表,
在表中越靠上優(yōu)先級越高,優(yōu)先級越高越優(yōu)先計算
如果優(yōu)先級一樣,則從左往右計算
但是這個表我們并不需要記憶,如果遇到優(yōu)先級不清楚
可以使用()來改變優(yōu)先級

js代碼塊

語句是從上向下一條一條的執(zhí)行,在js中可以使用{}進行分組,稱為代碼塊
js中的代碼塊,只具有代碼塊的作用沒有其他作用
代碼塊內(nèi)容的內(nèi)容,在外部是完全可見的

js操作屬性

DOM是為了操作文檔(網(wǎng)頁)的API,document是它的一個對象
BOM是為了操作瀏覽器的API,window是它的一個對象
常用BOM對象還有:alert、定時器等
document通過.的方式調(diào)用
代碼演示:

//整個文檔加載完之后執(zhí)行一個匿名函數(shù),這是js調(diào)用的基本代碼
        window.onload = function(){
            document.getElementById('div1').title = "我看到了!";

            //變量oA代表整個a標簽
            var oA = document.getElementById('link1');
            oA.;
            oA.title = "跳轉(zhuǎn)到騰訊網(wǎng)"
                        //打印link1的id
            alert(oA.id);
            alert(oA.title);
        }

js換膚

js的換膚就是可以更改標簽的任何屬性
代碼例子:

    <script type="text/javascript">

        window.onload = function(){
            // 整個頁面都加載之后執(zhí)行
            var oLink = document.getElementById('link1');
            // 
            oLink.href = "css/2.css";
            // 可以操作任何標簽的任何屬性

            alert(oLink.id);
            // 讀取屬性
        

js操作style屬性

style屬性中的樣式屬性,沒有‘-’號,其他寫法相同,使用小駝峰命名法

js操作class

由于class是js中的保留關(guān)鍵字,所以設(shè)置class屬性時,要寫為className
代碼:

oDiv.className = 'box02';

js中中括號的操作屬性

通過[]操作來寫變量
通過innerHTML可以讀寫元素包裹的內(nèi)容,只能重寫頁面的一部分,而douncument.write是重繪整個頁面
代碼例子:

window.onload = function(){
var oDiv = document.getElementById('div1');
//oDiv.style.color = 'red';//red必須加引號,否則會認為它是一個變量,引起來會認為它是一個值,賦值給=號左邊
var attr = 'color';
// oDiv.style[attr] = 'red';
/* 通過[]操作屬性可以寫變量 */
oDiv['style'][attr] = 'red';
/* 通過innerHTML可以讀寫元素包括的內(nèi)容 */
alert(oDiv.innerHTML);//讀取標簽里面包裹的元素,即“這是一個div元素”
var oDiv2 = document.getElementById('div2');
// oDiv2.innerHTML = '這是第二個div元素';//向div標簽中插入內(nèi)容
oDiv2.innerHTML = "<a ;//向div標簽中插入超鏈接標簽

js可控制換膚

行間調(diào)用函數(shù):
<input type="button" name="" value="皮膚01" onclick="skin01()" />
    <input type="button" name="" value="皮膚02" onclick="skin02()" 
提取行間事件
window.onload = function(){
            /* 提取行間事件 */
            var oBtn01 = document.getElementById('btn01');
            var oBtn02 = document.getElementById('btn02');

            oBtn01.onclick = skin01;//這里不能寫skin01(),這樣寫就馬上執(zhí)行了
            oBtn02.onclick = skin02;
            // 只要寫括號()函數(shù)就執(zhí)行
        }
        function skin01(){
            var oLink = document.getElementById('link1');
            oLink.href = "css/1.css";

        }
        function skin02(){
            var oLink = document.getElementById('link1');
            oLink.href = "css/2.css";
        }

變量和函數(shù)解析

變量與解析把聲明提前
函數(shù)與解析把整個函數(shù)提前
例如:

myalert();//彈出hello!
      function myalert(){
          alert('hello!');
}

匿名函數(shù):

用function()直接調(diào)用的
例如:

oDiv.onclick = function(){
alert('hello');
}

函數(shù)傳參

我們可以通過調(diào)用函數(shù)來個函數(shù)傳遞參數(shù)然后改變標簽屬性目的
例如

window.onload = function(){
           var oDiv = document.getElementById('div1');

           changeStyle('color', 'gold');
           changeStyle('background', 'red');
           changeStyle('width', '300px');
           changeStyle('height', '300px');
           changeStyle('fontSize', '30px');

           function changeStyle(styl, val){
               oDiv.style[styl] = val;
               
           }

函數(shù)return關(guān)鍵字

return有兩種意義:
1.返回函數(shù)設(shè)定的值,同時結(jié)束函數(shù)的運行。
例如:

 return c;

2.不返回值,僅結(jié)束函數(shù)的運行,阻止,默認行為

流程控制語句

流程控制語句
- JS中的程序是從上到下一行一行執(zhí)行的
- 通過流程控制語句可以控制程序執(zhí)行流程,
使程序可以根據(jù)一定的條件來選擇執(zhí)行
- 語句的分類:
1.條件判斷語句 if....else
2.條件分支語句switch.......case
3.循環(huán)語句

條件判斷

語法一:if(條件表達式){語句...
語法二;if(條件表達式){語句... }else{語句...}
例子:

oBtn.onclick = function(){
                if(oDiv.style.display == 'block' || oDiv.style.display == ''){
                    oDiv.style.display = 'none';
                }else{
                    oDiv.style.display = 'block';
                }
            
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 接著之前的知識點,繼續(xù)學(xué)習(xí)js.還是一如既往的在簡書上求個贊~ 表達式呢,它是JavaScript的一個短語,js...
    我就是z閱讀 736評論 3 2
  • 運算符是處理數(shù)據(jù)的基本方法,用來從現(xiàn)有的值得到新的值。JavaScript 提供了多種運算符,本章逐一介紹這些運算...
    徵羽kid閱讀 784評論 0 0
  • 算術(shù)運算符 JavaScript 共提供10個算術(shù)運算符,用來完成基本的算術(shù)運算。 加法運算符:x + y 減法運...
    guyigg閱讀 1,396評論 0 1
  • 一、語言 1、 語言的發(fā)展: 紙帶機:機器語言; 匯編語言:符號語言; 現(xiàn)代語言:高級語言 2、起源JavaScr...
    瘦不下去了閱讀 606評論 0 1
  • 轉(zhuǎn)換為布爾 將其他的數(shù)據(jù)類型轉(zhuǎn)換為Boolean使用Boolean()函數(shù) 運算符 運算符也叫操作符通過運算符可以...
    Python黑戶閱讀 316評論 0 0

友情鏈接更多精彩內(nèi)容