前端基本功--js實(shí)戰(zhàn)6 11.07

一扮匠、時(shí)鐘

1.第一步:得到現(xiàn)在的時(shí)分秒
第二步:秒針一次走6度羡藐、分針一次走6度怀薛、時(shí)針一次走30度尾序。

    <script type="text/javascript">
        window.onload = function () {
           var hour = document.getElementById("h");
           var minute = document.getElementById("m");    
           var second = document.getElementById("s"); 
           // 定時(shí)器開始
           var ms  = 0;
           var s = 0;
           var m = 0; 
           var h =0;
           setInterval(function()
           {
                var date = new Date();
                ms = date.getMilliseconds();
                s = date.getSeconds() + ms/1000;//得到秒數(shù) 例如 1.3s 加后面的當(dāng)前時(shí)間是因?yàn)榭梢杂羞^度钓丰,否則一下子就轉(zhuǎn)過去。
                m = date.getMinutes() + s / 60; //30.5分鐘
                h =date.getHours() % 12 + m / 60 ;//9.5小時(shí)
                second.style.WebkitTransform = "rotate(" +s*6+ "deg)"http://變化屬性每币,旋轉(zhuǎn)deg度携丁。
                minute.style.WebkitTransform = "rotate(" +m*6+ "deg)";
                hour.style.WebkitTransform = "rotate(" +h*30+ "deg)";
                //
           },1000);           

        }
  **兼容問題WebkitTransform谷歌不認(rèn)識(shí),MozTransform火狐不認(rèn)識(shí)兰怠。**

二梦鉴、短信驗(yàn)證

1.按鈕不可用:
btn.disabled = "disabled" || btn.disabled =true;
2.關(guān)閉定時(shí)器:clearInterval(定時(shí)器名稱)
3.實(shí)例

  <script type="text/javascript">
       window.onload = function () {
         var btn = document.getElementById('btn');
         var m = 3;
         btn.onclick = function(){
           clearInterval(timer);//先清除以防中途點(diǎn)擊調(diào)用定時(shí)器
           this.disabled = true;
           var that = this; //事件的調(diào)用者
           var timer = setInterval(send,1000);
           function send(){
             m--;
             if(m>=0){
             that.innerHTML = "還剩余 "+m+"秒";
             }
             else{
               that.innerHTML = "點(diǎn)擊重新發(fā)送短信";
               that.disabled = false;
               clearInterval(timer); //清除定時(shí)器,否則會(huì)一直調(diào)用ifelse下去
               m = 3;
             }
           }
         }
       }
   </script>

4.因?yàn)?button是個(gè)雙標(biāo)簽 所以要更改他的值揭保, 使用 innerHTML 的肥橙,不是value。

三秸侣、定時(shí)器之setTimeout

1.類似于定時(shí)炸彈存筏,只執(zhí)行一次宠互。
setTimeout("函數(shù)",時(shí)間) 時(shí)間:多長(zhǎng)時(shí)間后執(zhí)行
3秒關(guān)閉廣告總結(jié):設(shè)置隱藏函數(shù),當(dāng)調(diào)用定時(shí)函數(shù)執(zhí)行隱藏函數(shù)椭坚。

<script>
function $(id) {
 return document.getElementById(id);
}
function hide(id){
 $(id).style.display = "none";
}
function show(id){
 $(id).style.display = "block";
}
setTimeout(close,2000);
function close(){
 hide("right");
 hide("left");
}
</script>

2.setInterval()和setTimeout()的區(qū)別:

  • setInterval() 是排隊(duì)執(zhí)行的 不管間隔時(shí)間予跌,執(zhí)行時(shí)間為主。
    假如 間隔時(shí)間是1秒善茎, 而執(zhí)行的程序的時(shí)間是2秒 上次還沒執(zhí)行完的代碼會(huì)排隊(duì), 上一次執(zhí)行完下一次的就立即執(zhí)行, 這樣實(shí)際執(zhí)行的間隔時(shí)間為2秒券册。
  • setTimeout() 間隔時(shí)間+執(zhí)行時(shí)間。
    延遲時(shí)間為1秒執(zhí)行, 要執(zhí)行的代碼需要2秒來(lái)執(zhí)行,那這段代碼上一次與下一次的執(zhí)行時(shí)間為3秒.垂涯。
  • JS 頁(yè)面跳轉(zhuǎn): window.location.href = ”#” ; BOM
  • 函數(shù)自己調(diào)用自己:遞歸調(diào)用
    用if else再次調(diào)用settimeout :模擬使用 settimeout 來(lái)實(shí)現(xiàn)setinterval 的效果
  • arguments 對(duì)象
    arguments.length; 返回的是 實(shí)參的個(gè)數(shù)烁焙。
    arguments.callee; 返回的是正在執(zhí)行的函數(shù), 也是在函數(shù)體內(nèi)使用集币。
    在使用函數(shù)遞歸調(diào)用時(shí)推薦使用arguments.callee代替函數(shù)名本身考阱。
  • 例如: function fn() { console.log(arguments.callee); }
    這個(gè)callee 就是 : function fn() { console.log(arguments.callee); }

四、定時(shí)器之小米手機(jī)展示實(shí)例

  1.  寫了三遍鞠苟,寫到頭暈乞榨。
    

總結(jié):把圖片分成兩部分,鼠標(biāo)放在上面時(shí)当娱,執(zhí)行定時(shí)器吃既,執(zhí)行的函數(shù)為 滿足條件時(shí)圖片top變化,然后終止定時(shí)器跨细。下面相同鹦倚。鼠標(biāo)離開時(shí)停止上面定時(shí)器。

       function $(id) {
                return document.getElementById(id);
            }
            var num = 0;
            var timer = null;
            $("picup").onmouseover = function(){
                clearInterval(timer);//如果不先清除其他定時(shí)器冀惭,會(huì)打架 不知道執(zhí)行哪一個(gè)
               timer = setInterval(function(){
                     num -= 3;//出錯(cuò)震叙,num應(yīng)該在定時(shí)器中一直變化
                    num >= -1070 ? $("pic").style.top = num+"px" : clearInterval(timer);
                },20);
            }
            $("picdown").onmouseover = function(){
                clearInterval(timer);
                timer = setInterval(function(){
                     num += 3;
                    num < 0 ? $("pic").style.top = num+"px" : clearInterval(timer);
                },20);
            }
            $("picdown").parentNode.onmouseout = function(){
                clearInterval(timer);
            }

定時(shí)器的時(shí)間如果設(shè)置為0,不代表立即執(zhí)行散休,代表立即插入隊(duì)列媒楼,等所有程序執(zhí)行完畢再執(zhí)行!

五戚丸、運(yùn)算符補(bǔ)充

1.一元操作符 ++划址, --, + 限府,- +5 -6
2.邏輯操作符 !夺颤, &&, ||
3.基本運(yùn)算符 +, -, *, /, %
4.關(guān)系操作符 >, <, >=, <=, ===, ==, !=, !== 胁勺;
= 賦值 == 判斷 === 全等
5.條件操作符 (三元運(yùn)算符) ? :
6.賦值運(yùn)算符 +=, -=, *=, /=, %=
a+=5 a= a + 5
7.逗號(hào)運(yùn)算符 , var a=0,b=0;

  • 順序
1. ()
2. !世澜、-、++姻几、--    (-10)  負(fù)號(hào)  正號(hào)
3.*宜狐、/势告、% 
4. +、-         (10-5)
5. <抚恒、<=咱台、<、>=    
6. ==俭驮、!=回溺、===、!==混萝、  
7.&& 
8. || 
9.?: 
10. =遗遵、+=、-=逸嘀、*=车要、/=、%=     賦值   1+2*3 

題:

  • a&&b 結(jié)果是什么崭倘?
    如果a 為假 翼岁,則返回 a
    如果a 為真 ,則返回 b

    var aa = 0&&1;
    alert(aa) // 0
    var bb = 1&&0;
    alert(bb); //0
    var cc = 1&&10;
    alert(cc); // 10
  • a||b
    如果 a 為假 則返回b
    如果 a 為真 則返回a

    console.log(0||1); 1
    console.log(1||0); 1
    console.log(1||5); 1
    console.log(5||1); 5

var a = 1 && 2 && 3;
console.log(a); 3
var b = 0 && 1 && 2;
console.log(b); 0
var c = 1 && 0 && 2;
console.log(c); 0
%=
a+=3
a = a % 3;

六司光、字符串對(duì)象常用方法

  • 轉(zhuǎn)換成字符串的幾種方式
  1. +'' " 2+"ab"= "2ab"
  2. String() 轉(zhuǎn)換為字符串
  3. toString(基數(shù)) 基數(shù) = 進(jìn)制
    var txt = 10; txt.toString(2) ; 二進(jìn)制 結(jié)果是1010
  • 獲取字符位置方法
    charAt()琅坡;根據(jù)位置返回字符
    var txt = "; txt.charAt(2); 返回 c
    charCodeAt ():獲取字符編碼

unicode編碼 是我們字符的唯一表示 。


圖片1.png
  • 檢測(cè)字符串長(zhǎng)度
    思路:定義的判斷函數(shù)中残家,先存儲(chǔ)總的字符串長(zhǎng)度榆俺,再定義一個(gè)存儲(chǔ)字符編碼的變量,for循環(huán)判斷坞淮,當(dāng)i小于字符串長(zhǎng)度時(shí)茴晋,繼續(xù)判斷,字符編碼0 - 127時(shí)長(zhǎng)度加一回窘,否則長(zhǎng)度加二晃跺,最后返回字符串長(zhǎng)度,在輸出字符串長(zhǎng)度判斷函數(shù)毫玖!
    <script type="text/javascript">
        window.onload = function () {
        var txt = "abc哈哈哈"
        console.log(txt.length);  
        function panduan(str){
        var len = 0;
        var x = 0;
        for( i = 0 ;i <str.length;i++){
          x= str.charCodeAt(i); 
          if(x>=0 &&x<= 127)
         {
           len++;
         }
          else
         {
           len+=2;
         }
      }
        return len;
    }
        console.log(panduan(txt));
}
    </script>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市凌盯,隨后出現(xiàn)的幾起案子付枫,更是在濱河造成了極大的恐慌,老刑警劉巖驰怎,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件阐滩,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡县忌,警方通過查閱死者的電腦和手機(jī)掂榔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門继效,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人装获,你說我怎么就攤上這事瑞信。” “怎么了穴豫?”我有些...
    開封第一講書人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵凡简,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我精肃,道長(zhǎng)秤涩,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任司抱,我火速辦了婚禮筐眷,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘习柠。我一直安慰自己匀谣,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開白布津畸。 她就那樣靜靜地躺著振定,像睡著了一般。 火紅的嫁衣襯著肌膚如雪肉拓。 梳的紋絲不亂的頭發(fā)上后频,一...
    開封第一講書人閱讀 51,443評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音暖途,去河邊找鬼卑惜。 笑死,一個(gè)胖子當(dāng)著我的面吹牛驻售,可吹牛的內(nèi)容都是我干的露久。 我是一名探鬼主播,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼欺栗,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼毫痕!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起迟几,我...
    開封第一講書人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤消请,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后类腮,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體臊泰,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年蚜枢,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了缸逃。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片针饥。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖需频,靈堂內(nèi)的尸體忽然破棺而出丁眼,到底是詐尸還是另有隱情,我是刑警寧澤贺辰,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布户盯,位于F島的核電站,受9級(jí)特大地震影響饲化,放射性物質(zhì)發(fā)生泄漏莽鸭。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一吃靠、第九天 我趴在偏房一處隱蔽的房頂上張望硫眨。 院中可真熱鬧,春花似錦巢块、人聲如沸礁阁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)姥闭。三九已至,卻和暖如春越走,著一層夾襖步出監(jiān)牢的瞬間棚品,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工廊敌, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留铜跑,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓骡澈,卻偏偏與公主長(zhǎng)得像锅纺,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子肋殴,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354

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