js操作屬性、函數(shù)

(1)條件運算符

    條件運算符也叫三元運算符
        語法:
            條件表達式?語句1:語句2;
        - 執(zhí)行的流程:
            條件運算符在執(zhí)行時蹲蒲,首先對條件表達式進行求值番甩,
                如果該值為true侵贵,則執(zhí)行語句1届搁,并返回執(zhí)行結(jié)果
                如果該值為false,則執(zhí)行語句2窍育,并返回執(zhí)行結(jié)果
            如果條件的表達式的求值結(jié)果是一個非布爾值卡睦,會將其轉(zhuǎn)換為布爾值然后在運算
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>條件運算符</title>
    <script type="text/javascript">
        
        
        //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;
        
        //這種寫法不推薦使用,不方便閱讀
        var max = a > b ? (a > c ? a :c) : (b > c ? b : c);
        
        //console.log("max = "+max);
        
        //"hello"?alert("語句1"):alert("語句2");
    </script>
</head>
<body>

</body>
</html>

(2)運算符的優(yōu)先級
運算符
使用,可以分割多個語句漱抓,一般可以在聲明多個變量時使用

    就和數(shù)學中一樣表锻,在JS中運算符也有優(yōu)先級,
        比如:先乘除 后加減
    在JS中有一個運算符優(yōu)先級的表乞娄,
        在表中越靠上優(yōu)先級越高瞬逊,優(yōu)先級越高越優(yōu)先計算
        如果優(yōu)先級一樣,則從左往右計算
    但是這個表我們并不需要記憶仪或,如果遇到優(yōu)先級不清楚
        可以使用()來改變優(yōu)先級
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>運算符的優(yōu)先級</title>
    <script type="text/javascript">
        
        //使用,運算符同時聲明多個變量
        //var a, b, c;
        
        //可以同時聲明多個變量并賦值
        //var a=1, b=2, c=3;
        //alert(b);
        
        
        // var result = 1 + 2 * 3;
        //var result = 1 + 23;
        
        /*
        如果||的優(yōu)先級高确镊,或者兩個一樣高,則應(yīng)該返回3
        如果與的優(yōu)先級高范删,則應(yīng)該返回1
        */
        var result = 1 || 2 && 3;
        
        console.log("result = " + result);
    </script>
</head>
<body>

</body>
</html>

(3)代碼塊
我們的程序是由一條一條語句構(gòu)成的
語句是按照自上向下的順序一條一條執(zhí)行的
在JS中可以使用{}來為語句進行分組,
同一個{}中的語句我們稱為是一組語句蕾域,
它們要么都執(zhí)行,要么都不執(zhí)行,
一個{}中的語句我們也稱為叫一個代碼塊
在代碼塊的后邊就不用再編寫;了

        JS中的代碼塊旨巷,只具有分組的的作用巨缘,沒有其他的用途
            代碼塊內(nèi)容的內(nèi)容,在外部是完全可見的
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>代碼塊</title>
    <script type="text/javascript">
        {
            var a = 10; 
            alert("hello");
            console.log("你好");
            document.write("語句");
        }
        
        console.log("a = "+a);
    </script>
</head>
<body>

</body>
</html>

(4)js操作屬性
DOM是為了操作文檔(網(wǎng)頁)的API采呐,document是它的一個對象
BOM是為了操作瀏覽器的API若锁,window是它的一個對象
常用BOM對象還有:alert、定時器等

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>js操作屬性</title>
    <script type="text/javascript">
        
        //整個文檔加載完之后執(zhí)行一個匿名函數(shù)
        window.onload = function(){
            document.getElementById('div1').title = "我看到了懈万!";
            //變量oA代表整個a標簽
            var oA = document.getElementById('link1');
            oA.;
            oA.title = "跳轉(zhuǎn)到騰訊網(wǎng)"
            alert(oA.id);
            alert(oA.title);
        }
    </script>
</head>
<body>
    <div id="div1" class="div1" title="這是div元素拴清,看到了嗎?">這是一個div元素</div>

    <a href="#" id="link1">騰訊網(wǎng)</a>


    <!-- <script type="text/javascript">
        document.getElementById('div1').title = "我看到了会通!";
    </script> -->
</body>
</html>

(5)js換膚

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>js換膚</title>
    <link rel="stylesheet" type="text/css" href="css/1.css" id="link1">

    <script type="text/javascript">
        window.onload = function(){
            var oLink = document.getElementById('link1');
            oLink.href = "css/2.css";
            alert(oLink.id);
        }
    </script>
</head>
<body>
    <div class="box01"></div>
    <div class="box02"></div>
</body>
</html>

(6)js操作style屬性

style屬性中的樣式屬性口予,沒有"-"號的,寫法相同
style屬性中的樣式屬性涕侈,帶"-"號的需要去掉"-"號沪停,寫成小駝峰式
例如:font-size屬性要寫為fontSize

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>js操作style屬性</title>
    <script type="text/javascript">
        window.onload = function() {
            var oDiv = document.getElementById('div1');
            oDiv.style.color = 'red';
            oDiv.style.background = 'gold';
        
            oDiv.style.fontSize = '30px';
        }
    </script>
</head>
<body>
    <div id="div1">這是一個div元素</div>
</body>
</html>

(7)js操作class
由于class是js中的保留關(guān)鍵字,所以設(shè)置class屬性時裳涛,要寫為className

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>js操作class</title>
    <style type="text/css">
        .box01{
            width: 200px;
            height: 200px;
            background-color: gold;
        }
        .box02{
            width: 300px;
            height: 300px;
            background-color: red;
        }
    </style>
    <script type="text/javascript">
        window.onload = function() {
            var oDiv = document.getElementById('div1');
            
            oDiv.className = 'box02';
        }
    </script>
</head>
<body>
    <div class="box01" id="div1"></div>
</body>
</html>

(8)js中括號操作屬性
oDiv.style.color = 'red';//red必須加引號木张,否則會認為它是一個變量,引起來會認為它是一個值端三,賦值給=號左邊
通過innerHTML可以讀寫元素包括的內(nèi)容
讀取標簽里面包裹的元素舷礼,即“這是一個div元素
oDiv2.innerHTML = '這是第二個div元素';向div標簽中插入內(nèi)容
document.write和innerHTML的區(qū)別
document.write只能重繪整個頁面
innerHTML可以重繪頁面的一部分

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>js中括號操作屬性</title>
    <style type="text/css">
        .box01{
            width: 200px;
            height: 200px;
            background-color: gold;
        }
        .box02{
            width: 300px;
            height: 300px;
            background-color: red;
        }
    </style>
    <script type="text/javascript">
        window.onload = function(){
            var oDiv = document.getElementById('div1');
            //oDiv.style.color = 'red';//red必須加引號,否則會認為它是一個變量郊闯,引起來會認為它是一個值妻献,賦值給=號左邊
            var attr = 'color';
            // oDiv.style[attr] = 'red';
            /* 通過[]操作屬性可以寫變量 */
            oDiv['style'][attr] = 'red';
            alert(oDiv.innerHTML);
            var oDiv2 = document.getElementById('div2');
            oDiv2.innerHTML = "<a ;//向div標簽中插入超鏈接標簽
        
        }
    </script>
</head>
<body>
    <div id="div1">這是一個div元素</div>
    <div id="div2"></div>
</body>
</html>

(9)js函數(shù)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>js函數(shù)</title>
    <script type="text/javascript">
        function aa(){
            alert('hello!');
        }
        /*
        //直接調(diào)用
        aa();
        */
    </script>
</head>
<body>
    <input type="button" name="" value="彈框" onclick="aa()" />
</body>
</html>

(10)js可控換膚

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>js換膚</title>
    <link rel="stylesheet" type="text/css" href="css/1.css" id="link1">

    <script type="text/javascript">
        window.onload = function(){
            /* 提取行間事件 */
            var oBtn01 = document.getElementById('btn01');
            var oBtn02 = document.getElementById('btn02');
            oBtn01.onclick = skin01;//這里不能寫skin01(),這樣寫就馬上執(zhí)行了
            oBtn02.onclick = skin02;
        }
        function skin01(){
            var oLink = document.getElementById('link1');
            oLink.href = "css/1.css";
        }
        function skin02(){
            var oLink = document.getElementById('link1');
            oLink.href = "css/2.css";
        }
    </script>
</head>
<body>
    <!-- 
    行間調(diào)用函數(shù)
    <input type="button" name="" value="皮膚01" onclick="skin01()" />
    <input type="button" name="" value="皮膚02" onclick="skin02()" /> -->
    <input type="button" name="" value="皮膚01" id="btn01" />
    <input type="button" name="" value="皮膚02" id="btn02" />
    <div class="box01"></div>
    <div class="box02"></div>
</body>
</html>
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末团赁,一起剝皮案震驚了整個濱河市育拨,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌欢摄,老刑警劉巖熬丧,帶你破解...
    沈念sama閱讀 216,744評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異怀挠,居然都是意外死亡析蝴,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,505評論 3 392
  • 文/潘曉璐 我一進店門绿淋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來闷畸,“玉大人,你說我怎么就攤上這事躬它√谏叮” “怎么了?”我有些...
    開封第一講書人閱讀 163,105評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長倘待。 經(jīng)常有香客問我疮跑,道長,這世上最難降的妖魔是什么凸舵? 我笑而不...
    開封第一講書人閱讀 58,242評論 1 292
  • 正文 為了忘掉前任祖娘,我火速辦了婚禮,結(jié)果婚禮上啊奄,老公的妹妹穿的比我還像新娘渐苏。我一直安慰自己,他們只是感情好菇夸,可當我...
    茶點故事閱讀 67,269評論 6 389
  • 文/花漫 我一把揭開白布琼富。 她就那樣靜靜地躺著,像睡著了一般庄新。 火紅的嫁衣襯著肌膚如雪鞠眉。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,215評論 1 299
  • 那天择诈,我揣著相機與錄音械蹋,去河邊找鬼。 笑死羞芍,一個胖子當著我的面吹牛哗戈,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播荷科,決...
    沈念sama閱讀 40,096評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼唯咬,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了步做?” 一聲冷哼從身側(cè)響起副渴,我...
    開封第一講書人閱讀 38,939評論 0 274
  • 序言:老撾萬榮一對情侶失蹤奈附,失蹤者是張志新(化名)和其女友劉穎全度,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體斥滤,經(jīng)...
    沈念sama閱讀 45,354評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡将鸵,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,573評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了佑颇。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片顶掉。...
    茶點故事閱讀 39,745評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖挑胸,靈堂內(nèi)的尸體忽然破棺而出痒筒,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 35,448評論 5 344
  • 正文 年R本政府宣布簿透,位于F島的核電站移袍,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏老充。R本人自食惡果不足惜葡盗,卻給世界環(huán)境...
    茶點故事閱讀 41,048評論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望啡浊。 院中可真熱鬧觅够,春花似錦、人聲如沸巷嚣。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,683評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽廷粒。三九已至苹祟,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間评雌,已是汗流浹背树枫。 一陣腳步聲響...
    開封第一講書人閱讀 32,838評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留景东,地道東北人砂轻。 一個月前我還...
    沈念sama閱讀 47,776評論 2 369
  • 正文 我出身青樓,卻偏偏與公主長得像斤吐,于是被迫代替她去往敵國和親搔涝。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,652評論 2 354

推薦閱讀更多精彩內(nèi)容