05-运算符
常用运算符
算数运算符
赋值运算符
比较运算符
逻辑运算符
        // 赋值运算符
         var money = prompt('请输入金额');
         var saveMoney = money * (1+0.02);
         console.log(saveMoney);
        document.write(saveMoney);
        // 算数运算
        var a = 10;
        var b = 4;
        var sum = a + b;
        document.write(sum);
        var min = a - b;
        document.write(min);
        // 组合运算符
        var c = 7 , d = 8;
        // d = c + d;
        // d +=c;
        // console.log(d);
        // 自增和自减
        //x++就是先赋值后自增
        var c1 = d++;
        console.log(c1);
        console.log(d);
        // ++x就是先自增再赋值
        var c2 = ++d;
        console.log(c2);
        // 比较运算符: > < = <= >= ==  ===
        console.log(a > b);
        // 浏览器解析的时候,存在隐式转换,比较的是值的大小,===是类型和值都进行比较
        // 逻辑运算符
        // && 和 || 或
        // and就是都真为真,只要有一个为假就是假,两个都是假就都是假

06-字符串处理
很多时候的后台的运算采用的是数字运算,但是实际上展示的时候需要转换为字符串显示
<script type="text/javascript">
<script type="text/javascript">
        // 字符串的运算
        // 字符串的运算就是通过 '+' 来进行拼接
        // 字符串只能是拼接,不能是加减运算
        var firstName = 'panda';
        var lastName = 'boy';
        console.log(firstName+ ' ' + lastName);
        var str = '2003啊'+firstName+'实打实大框架爱不是的gas打瞌睡的男篮的尴尬';
        console.log(str);
        var a1 = '1';
        var a2 = 'panda';
        var a3 = '4';
        var a4 = '6';
        // 不能对字符串进行加减运算,会报NaN -> Not a Number ->实际上NaN就是number类型
        console.log(parseInt(a1) + parseInt(a2));
        console.log(a3 * a4);
    </script>

07-数据类型转换
<script type="text/javascript">
        // 在JS中所有的数据类型,都被归为boolean
        // 1.将数字类型转换为字符串类型
        var n1 = 123;
        var n2 = '';
        var n3 = n1 + n2;
        console.log(n3);
        console.log(typeof (n3));
        // 隐式转换 -> 数字和字符串相加会变成字符串优先变化,转换为字符串类型
        // 强制类型转换 ->String(n1) -> num.toString()
         var str1 = String(n1);
         console.log(str1);
         console.log(typeof (str1));
         var num = 234;
         console.log(num.toString());
        console.log(typeof (num));
        // 字符串转换为数字类型 -> Number(stringNum) -> parseInt(num3) ->parseFloat浮点数
        // parseInt()可以解析一个字符串,并且返回一个整数
        var stringNum = '789';
        var num2 = Number(stringNum);
        console.log(num2);
        console.log(typeof (num2));
        var num3 = '456';
        console.log(parseInt(num3));
        console.log(typeof (num3));
        console.log(parseFloat(stringNum));
        console.log(typeof (stringNum));
    //    -------------------------------------------------
    //     布尔值 NaN 0 null undefined都是false 所有的数据类型都可以转换为数字类型
        var b1 = '123';
        console.log(Boolean(b1));
    </script>

08-流程控制语句if
<script type="text/javascript">
        // if 语句就是如果...然后...
        /*
        * var ji = 10;
        if (ji >= 20){
            console.log('恭喜你')
        }else {
            console.log('失败')
        }*/
 
        // 浏览器解析代码的顺序,是从上往下执行
        // 考试系统录入
        var math = 99;
        var english = 85;
        var sum = 485;
        // 1. 模拟 总分大于400 并且数学成绩大于89分,被清华大学录取
        // if (sum > 400 && math > 89) {
        //     console.log('恭喜你被录取了')
        // }else {
        //     console.log('没有完成条件,不能被录取')
        // }
        // 2.模拟 如果总分大于400或者数学成绩大于85 就被复旦大学录入
        // if (sum > 400 || math >=85){
        //     alert('你的成绩已经达标')
        // }else{
        //     alert('成绩未达标')
        // }
 

09-switch
<script type="text/javascript">
        // switch 开关
        var gameScore = 'better';
        // switch 和 case做比较 ,遇到break就跳出,后面的代码会继续执行,
        // 运行方式类型于if else,只不过用法比较单一
        switch (gameScore){
            case 'good':
                alert('case用来做比较');
                break;
            case 'better':
                alert('case就是比较对不对');
                break;
        }
    </script>

10-while
<!--循环的时候一定有三个步骤-->
    <!--1.要初始化循环变量-->
    <!--2.判断循环条件-->
    <!--3.更新循环变量-->
    <script type="text/javascript">
        // var i = 1;
        // while (i < 10){
        //     i++;
        //     console.log(i);
        // }
        // 练习:将1到100之间所有的是3的倍数输出出来
        var i = 100;
        while (i >= 1){
            if (i % 3 === 0){
                console.log(i);
            }
            // console.log(i);
            i--;
        }

11-do_while
var i = 0;
        do{
            i++;
            console.log(i);
        }while (i < 3)

12-for循环
<script type="text/javascript">
        // for 循环
        // for(var i = 1;i <= 10;i++){
        //     console.log(i);
        // }
    //    打印1-100之间所有的偶数
    //     for (var i = 1; i<=100;i++ ){
    //         if(i % 2 ===0){
    //             console.log(i);
    //         }
    //     }
    //     计算1-100之间的数字的和
    //     var sum = 0;
    //     for (var i = 1;i <= 100;i++ ){
    //         sum += i;
    //     }
    //     console.log(sum)
    //      打印在页面上3行6个*
    //     for (var i = 0;i<=2;i++){
    //         document.write('******'+'<br>');
    //     }
    //     在浏览器中输出直角三角形
    //     *
    //     **
    //     ***
    //     ****
    //     *****
    //     ******
        String.prototype.times = function(n) {
            return Array.prototype.join.call({length:n+1}, this);
    };
        for(var i = 1;i<=6;i++){
            document.write('*'.times(i)+'<br>');
        }
    </script>

13-for循环练习

14-数组的创建和使用
<!--数组的含义就是存储数据用的一个容器,用来装载东西-->
    <!--创建数组-->
    <!--1.字面量方式-->
    <script type="text/javascript">
        // <!--推荐使用字面量方式创建数组-->
        var colors = ['red','color','yellow'];
        console.log(colors);
        console.log(typeof (colors));
        //    空数组
        var emptyAray = [];
        //    使用构造函数去创建,使用new关键词,对构造函数进行创建
        var colors2 = new Array();
        var col = new Array('red','123','yelow');
        console.log(col);
        // 数组的赋值
        var arr = [];
        arr[0] = 123;
        arr[1] = '456';
        console.log(arr);

15-数组的常用方法
<script type="text/javascript">
        // 1.数组的合并
        var north = ['beijing','shandong','tianjin1'];
        var sorth = ['dong','xi','shanghai1','nanfang1'];
        var newArray = north.concat(sorth);
        console.log(newArray);
        // 2.数组转换为字符串
        var numArray = [100,101,102,103];
    //    toString直接转换为字符串,每个元素使用逗号隔开
        var str = numArray.toString();
        console.log(str);
    //    join方法 将数组中的方法是用指定的字符串连接,形成一个新的字符串
        var str2 = numArray.join('|');
        console.log(str2);
    // 查找下标,如果查找的值不再数组内,则返回-1,正向查找
        var index = numArray.indexOf(100);
        console.log(index);
        // 反向查找
         var lastIndex = numArray.lastIndexOf(102);
         console.log(lastIndex);
         // 数组的排序
        var names = ['panda', 'boy', 'zombie', 'engo'];
        // 反向排序
        var newName = names.reverse();
        console.log(newName);
        // 正向排序 sort按照26个字母顺序排序
        var newName1 = names.sort();
        console.log(newName1);
        // 移除元素和添加元素,返回的结果是移除的第一个元素,原来数组中的第一个元素,被移除了
        var firstName = names.shift();
        console.log(firstName);
        console.log(names);
        // unshift()向数组添加一个元素,返回的新数组长度
        var lastname = names.unshift(names);
        console.log(lastname);
        console.log(names);
        // push()添加元素,往数组的最后一个位置添加元素
        var newN = names.push('123');
        console.log(newN);
        console.log(names);
        // pop()移除元素,从数组的最后去删除元素
        var newN1 = names.pop();
        console.log(newN1);
        console.log(names);

16-函数的使用
函数是由事件驱动的,当它执行的时候是可重复使用的代码块
函数就是为了让代码更简洁
<script type="text/javascript">
        // 函数的创建
        // 有函数的声明就一定有调用
        function add(){
            alert('函数被调用')
        }
        add();
        // 声明函数的时候带参数
        function add2(a, b) {
            alert(a + b)
        }
        add2(3, 4);
        function add3(x,y) {
            return x+y
        }
        n = add3(4,5);
        alert(n)

17-Object_构造函数
<!--一切皆对象,没有对象就new-->
    <!--JS是使用构造函数使用对象-->
    <script type="text/javascript">
        // 对象的创建
 
        //字面量方式的创建,推荐使用
        // 存储的方式就是key value
        // var stu = {
        //     'name':'panda',
        //     'age':22,
        //     'fav':'soup'
        // };
        // console.log(stu);
        // 点语法,相当于get和set语法
        // alert(stu.name);
        // 使用Object创建对象
        // function add() {
        //
        // }
        // add()
        // Object构造函数的特点
        // 1.首字母大写
        // 碰见构造函数,要想创建对象就是用new
        // var obj = new Object();
        // obj.name = 'xiaoming';
        // obj.age = 45;
        // console.log(obj);
    //    ----------------------------------构造函数--------------------------------------
    //     1.函数名首字母要大写
    //     2.构造函数不需要return
    //     3.为对象添加成员变量 this.name = 'panda'
    //     var Stu = function () {
    //         this.name = 'panda';
    //         this.age = 18;
    //         this.fav = function(){
    //             console.log('boy')
    //         }
    //     };
    //     // 以上的方式每次new一个对象,各种属性都是相同的,不推荐这样去使用
    //     // 创建这个对象
    //     var s = new Stu();
    //     console.log(s);
    //     var s1 = new Stu();
    //     console.log(s1);
        // ---------------------推荐使用的构造函数方式-------------------------
        function Animal() {
            this.name = 'hua';
            this.age = 18;
            this.fav = function () {
                console.log(this.age)
            }
        }
        var a = new Animal();
        a.fav();
    </script>

18-String_Number
<script type="text/javascript">
        // 内置对象
        // String 字符串对象
        var str = 'hello panda';
        console.log(str.length);
        // 大写转换
        var bigstr = str.toUpperCase();
        console.log(bigstr);
        // 小写转换
        console.log(bigstr.toLowerCase());
        // 两个参数,一个是分割的符号依据,一个是限制的长度
        console.log(str.split(' ',2));
        // 提取哪个字符到哪个字符之间的长度显示为字符串
        console.log(str.substring(1,7));
        // number
        // 1.将bumber类型转换为字符串类型
        var num = 123.23;
        var numStr = num.toString();
        console.log(numStr);
        console.log(typeof (numStr));
        // 2.保留一位小数,可以设置保留几位小数
        var newNum = num.toFixed(1);
        console.log(newNum);
    </script>

19-Date的使用
<script type="text/javascript">
        // 创建日期对象
        var myDate = new Date();
        // 获取一个月中的某一天
        myDate.getDate();
        console.log(myDate);
        // 获取当天的日期和时间
        console.log(Date());
        // 获取月份
        console.log(myDate.getMonth()+1);
        console.log(myDate.getDay());
        console.log(myDate.getFullYear());
        console.log(myDate.getTime());
    </script>

20-Math对象的使用
<script type="text/javascript">
        // math对象用来执行数学的一些简单运算
        // ceil向上取整数
        var x = 1.234;
        y = Math.ceil(x);
        console.log(y);
        // floor向下取整数
        var a = Math.floor(x);
        console.log(a);
        // 求这两个输入的最大值和最小值
        console.log(Math.max(1,5,6));
        console.log(Math.min(1,56,8));
        // 经常使用 随机数 包含0 不包含1
        var ran = Math.random();
        console.log(Math.floor(ran*100)+100);
        // min~max之间的随机数 min+Math.random()*(max-min)
        
    </script>

21-定时器的用法
  <script type="text/javascript">
        // setInterval()方法可以根据指定的周期来调用函数或计算表达式
        // setInterval()会不停的调用函数,直到直到clearInterval被调用或窗口被关闭
        // 由setInterval()返回的ID值可用作直到clearInterval()方法的参数
        // setTimeout()在指定了毫秒数之后调用函数或计算表达式
        // setTimeout()本身只执行一次,如果想多次调用请执行setInterval()或者在code中进行多次调用
        var n = 0;
        var ti = window.setInterval(function () {
            n++;
            console.log(n);
        },1000);
        // var a = 0;
        setTimeout(function () {
            // a ++;
            console.log(ti);
            clearInterval(ti);
        },5000);
    </script>

22-正则表达式创建
<!--正则表达式的规则都是一样的,只是写法不同-->
    <script type="text/javascript">
        var str = 'panda boy';
        var reg = new RegExp('panda', 'g');
        console.log(reg.test(str));
        var reg1 = /ccc/g;
        console.log(reg1.test(str));
        console.log(str.match(reg));
        // 正则表达式内有 replace test match search spilt
    </script>

23-元字符和正则表达式练习案例

24-模态框案例
什么是dom?
DOM 是 Document Object Model(文档对象模型)的缩写。
规定把浏览器的所有的标签设置为树状结构,每个标签看做文档中的节点

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>模态框</title>
<style type="text/css">
*{
padding: 0;
margin: 0;
}
html,body{
height: 100%;
width: 100%;
}
button{
margin: 0 auto;
display: block;
color: #333333;
font-size: 28px;
}
#box{
width: 100%;
height: 100%;
background-color: #999999;
}
#content{
position: relative;
top: 150px;
width: 400px;
height: 200px;
line-height: 200px;
text-align: center;
color: black;
background-color: #E6E6FA;
margin: 0 auto;
}
#span1{
position: absolute;
color: red;
top: 0;
right: 0;
width: 40px;
height: 40px;
line-height: 40px;
text-align: center;
background-color: #FFFFFF;
}
</style>
</head>
<body>
<button id="btn">弹出</button>
</body>
<script type="text/javascript">
// console.log(document);
// 获取dom元素
var btn = document.getElementById('btn');
// console.log(btn);
// 创建div dom元素
var oDiv = document.createElement('div');
var oP = document.createElement('p');
var oSpan = document.createElement('span');
oDiv.id = 'box';
oP.id = 'content';
oSpan.id = 'span1';
oP.innerHTML = '模态框启动!';
oSpan.innerHTML = 'X';
oDiv.appendChild(oP);
oP.appendChild(oSpan);
btn.onclick = function () {
// 动态的添加标签到body中
this.parentNode.insertBefore(oDiv,btn);
};
oSpan.onclick = function () {
oDiv.parentNode.removeChild(oDiv)
};
</script>
</html>

路飞学城Python-Day50的更多相关文章

  1. 路飞学城—Python爬虫实战密训班 第三章

    路飞学城—Python爬虫实战密训班 第三章 一.scrapy-redis插件实现简单分布式爬虫 scrapy-redis插件用于将scrapy和redis结合实现简单分布式爬虫: - 定义调度器 - ...

  2. 路飞学城—Python爬虫实战密训班 第二章

    路飞学城—Python爬虫实战密训班 第二章 一.Selenium基础 Selenium是一个第三方模块,可以完全模拟用户在浏览器上操作(相当于在浏览器上点点点). 1.安装 - pip instal ...

  3. 路飞学城Python爬虫课第一章笔记

    前言 原创文章,转载引用务必注明链接.水平有限,如有疏漏,欢迎指正. 之前看阮一峰的博客文章,介绍到路飞学城爬虫课程限免,看了眼内容还不错,就兴冲冲报了名,99块钱满足以下条件会返还并送书送视频. 缴 ...

  4. 路飞学城-Python开发集训-第3章

    学习心得: 通过这一章的作业,使我对正则表达式的使用直接提升了一个level,虽然作业完成的不怎么样,重复代码有点多,但是收获还是非常大的,有点找到写代码的感觉了,遗憾的是,这次作业交过,这次集训就结 ...

  5. 路飞学城-Python开发集训-第1章

    学习体会: 在参加这次集训之前我自己学过一段时间的Python,看过老男孩的免费视频,自我感觉还行,老师写的代码基本上都能看懂,但是实际呢?....今天是集训第一次交作业的时间,突然发现看似简单升级需 ...

  6. 路飞学城-Python开发集训-第4章

    学习心得: 学习笔记: 在python中一个py文件就是一个模块 模块好处: 1.提高可维护性 2.可重用 3.避免函数名和变量名冲突 模块分为三种: 1.内置标准模块(标准库),查看所有自带和第三方 ...

  7. 路飞学城-Python开发集训-第2章

    学习心得: 这章对编码的讲解超级赞,现在对于编码终于有一点认知了,但还没有大彻大悟,还需要更加细心的琢磨一下Alex博客和视频,以前真的是被编码折磨死了,因为编码的问题而浪费的时间很多很多,现在终于感 ...

  8. 路飞学城-Python开发-第二章

    ''' 数据结构: menu = { '北京':{ '海淀':{ '五道口':{ 'soho':{}, '网易':{}, 'google':{} }, '中关村':{ '爱奇艺':{}, '汽车之家' ...

  9. 路飞学城-Python开发-第三章

    # 数据结构: # goods = [ # {"name": "电脑", "price": 1999}, # {"name&quo ...

  10. 路飞学城-Python开发-第一章

    # 基础需求: # 让用户输入用户名密码 # 认证成功后显示欢迎信息 # 输错三次后退出程序 username = 'pandaboy' password = ' def Login(username ...

随机推荐

  1. 关于Tomcat下项目被启动两次为问题

    最近遇见了一个很搞得事情,在tomcat下启动项目时自己写的定时程序被执行了两次,导致程序启动了两个线程,使定时任务在几秒间隔内执行了两次,后来通过日志查到,原来是tomcat将项目启动了两次,为什么 ...

  2. 常用css和js内容

    1.让一个200x200的div在不同分辨率屏幕上下左右居中. <div class="box"></div> <style type="t ...

  3. 不能使用一般 Request 集合

    request.querystring("id"),不能request("id")

  4. [JoyOI] 1035 棋盘覆盖 (二分图匹配)

    题目描述 给出一张nn(n<=100)的国际象棋棋盘,其中被删除了一些点,问可以使用多少12的多米诺骨牌进行掩盖. 输入格式 第一行为n,m(表示有m个删除的格子) 第二行到m+1行为x,y,分 ...

  5. 02.OOP面向对象-1.面向对象介绍

    1.面向对象编程介绍 面向对象(object-oriented ;简称: OO) 至今还没有统一的概念 我这里把它定义为: 按人们 认识客观世界的系统思维方式,采用基于对象(实体) 的概念建立模型,模 ...

  6. linux_ubuntu 连接xftp

    一.修改静态ip 打开网络配置文件 :vim /etc/network/interfaces 1.添加以下配置: 注意:ubuntu 网卡名为 ens33 .多数liunx系统的网卡名为eth0. 可 ...

  7. Google NewSQL之Spanner

    谷歌分布式三宝 BigTable.GFS.MapReduce这传说中的谷歌分布式三驾马车,虽然谷歌没有公开具体实现代码,但却公布了相应论文,对分布式文件系统.大数据挖掘和NoSQL流行起了重大促进作用 ...

  8. NYOJ 298

    利用矩阵来做变换,参考Max大神的思想的,虽然不是同一道题. ----------- 给定n个点,m个操作,构造O(m+n)的算法输出m个操作后各点的位置.操作有平移.缩放.翻转和旋转    这里的操 ...

  9. 【C/C++学院】0724-堆栈简单介绍/静态区/内存完毕篇/多线程

    [送给在路上的程序猿] 对于一个开发人员而言,可以胜任系统中随意一个模块的开发是其核心价值的体现. 对于一个架构师而言,掌握各种语言的优势并能够运用到系统中.由此简化系统的开发.是其架构生涯的第一步. ...

  10. DOMContentLoaded事件<zz>

    今天查看百度空间源代码,发现多了个util.js文件,打开看看.里面里面定义了addDOMLoadEvent.这是干什么用的? 仔细查看代码,发现在Mozilla添加了DOMContentLoaded ...