2018-11-05 Day06 js基础应用

01-recode

<!-- 
推荐书  -  普林斯顿计算机公开课

为什么学习web前端?
 
    web应用后端开发  ==>  web前端
    网络数据采集  ==>  爬虫
    和前端开发人员交互
    
    
web前端 = HTML标签 + CSS + JavaScript
HTML标签 - 内容(content)
- 外部样式表
- 内部样式表 (首页最好写内部样式表)
- 内嵌样式表(不推荐)




CSS - 显示(display)  层叠样式表
<link href="style.css" rel="stylesheet">

<style>
*{}
h1{}
.foo{}
#bar{}
伪类选择器
</style>

优先级:
    就近原则(后写的生效)
    具体性原则(id > class > 标签选择器 > *(通配符))
    重要性原则(样式后面加上 !important)


盒子模型 Box Modul




JavaScript - 行为(behavior)
 
 
Python / JavaScript  -> 动态弱类型语言 
都支持面向对象编程 / 函数式编程
Python  生态圈强大  -  数据分析  机器学习  爬虫  人工智能
JavaScript  -  全栈开发语言  = ES(ECMAScript)  +  BOM  +  DOM
JS要后置,写在代码后面

ES - JavaScript的语法规范 - 5.1
BOM - Browser Object Model  浏览器对象模型
- window 
DOM - Document Object Model  文档对象模型
-document


Android  -  Java / Kotlin
iOS  -  Objective-C / Swift

React Native  -  跨平台  用的是JSX
Node.js  -  写服务器
 
 name = 'Luo Hao'
 name = 100
 var name = 'Luo Hao'
 name = 100
 
 -->

02-交互界面基础

<!-- CSS前置   写在前面  
     JS后置    写在后面
     
     浏览器阵营   
        Chrome  Firehox  ie  Opera  Safar
-->
<!DOCTYPE html>
<html>
    
    <head>
        <meta charset="utf-8" />
        <title></title>
        <style>
            h1 {font:72px arial;}
            #bar {color: red;}
            .foo {color: green !important;}
            h1 {color: burlywood !important;}
            #timer {
                width: 300px;
                height: 30px;
                text-align: center;
                line-height: 30px;
                color: darkblue;
                background-color: greenyellow;
                /* float: right; */
                position: absolute;
                right: 20px;
                top: 10px;
    
            }
            
        </style>
    </head>
    
    
    <body>
        <!-- 创建一个显示时间的div -->
        <div id="timer">
            
        </div>
        
        <h1 class="foo" id="bar">Hello, world!</h1>
        
        <button onclick="shutDown()">关闭</button>
        <button onclick="openBaidu()">打开百度</button>
        
        
        <script>
            
            //设置显示星期的显示方式
            var weekDay = ["日", "一", "二", "三", "四", "五", "六"]; //星期
            //创建一个时间函数
            showTime = function(){  
                //得到时间日期,让时间每秒时间
                var date = new Date();
                var year = date.getFullYear();
                var month = date.getMonth() + 1;
                var day = date.getDate();
                var hour = date.getHours();
                var minutes = date.getMinutes();
                var second = date.getSeconds();
                var week = date.getDay()
                
                var timeStr = year + "年" + (month < 10 ? '0' : "")  + month + "月" + 
                (day < 10 ? "0" : "") + day + "日"  + "  " + (hour < 10 ? "0" : "") + hour + ":" + 
                (minutes < 10 ? "0" : "") + minutes + ":" + (second < 10 ? "0" : "") + second + 
                "&nbsp;&nbsp;&nbsp;" + "星期" + weekDay[week];
                
                var divTime = document.getElementById("timer") ;  //返回值为id对应的标签
                //divTime.textContent = timeStr;        //修改标签的文本内容为传的字符串
                divTime.innerHTML = timeStr;        //修改标签的文本内容,并且会自动识别传入内容的代码
            }
            showTime()  //先执行一遍时间,去掉网页显示时间的空白期
            window.setInterval(showTime, 1000); //设置计时器,指定时间间隔,毫秒为单位,指定一个函数,每隔指定时间执行一遍函数
            
            
            
            function shutDown(){
                if (window.confirm("确定要关闭吗?")){
                    window.close();
                }
            }
            
            function openBaidu(){
                if(window.confirm("确定打开百度吗")){
                    window.open(url="https://www.baidu.com");
                    // window.open(url="https://www.baidu.com", "", "width=300px, height=300px");
                }
            }
            
            /*
            Python  
              不清楚循环次数  while
              确定循环次数    for
            
            JS 
              不确定循环次数  while
              确定循环次数    for
              至少执行一次的循环  do while
            */
            
            
//          var isOk = true;
//          window.alert(!isOk);
//          
//          var name = window.prompt("请输入用户名")  <!-- 输入提示框 -->
//          if (name !="null" && name.trim().length > 0){
//              window.alert("你好" + name + "!");
//              }else{
//                  window.alert("大家好");
//                  }

            // 判断闰年
//          var flag = true;
//          while(flag)
//          {
//              var num = window.prompt("请输入年份: ");
//              var year = parseInt(num);
//              if (year==num && year>0)
//              {
//                  if (year%400==0 || (year%4==0 && year%100 != 0))
//                  {
//                      window.alert("第" + num + "年" + "是闰年");
//                  }
//                  else
//                  {
//                      window.alert("第" + num + "年" + "不是闰年");
//                  }
//                  var flag = window.confirm("是否继续");
//                  if(!flag)
//                  {
//                      flag = false;
//                  }
//              }
//              else
//              {
//                  window.alert("请输入有效年份");
//              }
//          }
            
            
        

        </script>
    </body>
</html>

判断成都车辆限行


<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>成都机动车限行查询</title>
        <style>
            #search {
                width: 640px;
                margin: 0 auto;
                text-align: center;
                margin-top: 150px;
            }
            #carno {
                display: inline-block;
                width: 520px;
                height: 36px;
                font: 36px/36px arial;
                text-align: center;
                vertical-align: middle;
                border: none;
                outline: none;
                border-bottom: 1px dotted darkgray;
            }
            #search input[type=button] {
                width: 80px;
                height: 36px;
                font: 28px/36px arial;
                border: none;
                color: white;
                background-color: red;
                vertical-align: middle;
            }
            #result {
                width: 640px;
                margin: 0 auto;
                text-align: center;
                font: 32px/36px arial;
            }
        </style>
    </head>
    <body>
        <div id="search">
            <input type="text" id="carno" placeholder="请输入车牌号">
            <input type="button" value="查询" onclick="showResult()">
        </div>
        <hr>
        <p id="result"></p>
        <script>
            function showResult() {
                var input = document.getElementById('carno');
                var p = document.getElementById('result');
                var carNo = input.value;
                var regex = /^[川渝云贵京津沪][A-Z]\s*[0-9A-Z]{5}$/;
                
                if (regex.test(carNo)) {
                    var digitStr = lastDigit(carNo);
                    if (digitStr) {
                        var digit = parseInt(digitStr);
                        var day = new Date().getDay();
                        if (digit % 5 == day || digit % 5 == day - 5) {
                            p.innerHTML += carNo + '今日限行<br>';
                        } else {
                            p.innerHTML += carNo + '今日不限行<br>';
                        }
                    } else {
                        p.innerHTML += carNo + '不是有效的车牌号<br>'; 
                    }
                } else {
                    p.innerHTML += carNo + '不是有效的车牌号<br>'; 
                }
                input.value = '';
            }
            
            function lastDigit(str) {
                for (var index = str.length - 1; index >= 0; index -= 1) {
                    var digitStr = str[index];
                    if (digitStr >= '0' && digitStr <= '9') {
                        return digitStr;
                    }
                }
                return null;
            }
        </script>
    </body>
</html>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,376评论 6 491
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,126评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,966评论 0 347
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,432评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,519评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,792评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,933评论 3 406
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,701评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,143评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,488评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,626评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,292评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,896评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,742评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,977评论 1 265
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,324评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,494评论 2 348

推荐阅读更多精彩内容