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爬虫实战密训班 第三章
路飞学城—Python爬虫实战密训班 第三章 一.scrapy-redis插件实现简单分布式爬虫 scrapy-redis插件用于将scrapy和redis结合实现简单分布式爬虫: - 定义调度器 - ...
- 路飞学城—Python爬虫实战密训班 第二章
路飞学城—Python爬虫实战密训班 第二章 一.Selenium基础 Selenium是一个第三方模块,可以完全模拟用户在浏览器上操作(相当于在浏览器上点点点). 1.安装 - pip instal ...
- 路飞学城Python爬虫课第一章笔记
前言 原创文章,转载引用务必注明链接.水平有限,如有疏漏,欢迎指正. 之前看阮一峰的博客文章,介绍到路飞学城爬虫课程限免,看了眼内容还不错,就兴冲冲报了名,99块钱满足以下条件会返还并送书送视频. 缴 ...
- 路飞学城-Python开发集训-第3章
学习心得: 通过这一章的作业,使我对正则表达式的使用直接提升了一个level,虽然作业完成的不怎么样,重复代码有点多,但是收获还是非常大的,有点找到写代码的感觉了,遗憾的是,这次作业交过,这次集训就结 ...
- 路飞学城-Python开发集训-第1章
学习体会: 在参加这次集训之前我自己学过一段时间的Python,看过老男孩的免费视频,自我感觉还行,老师写的代码基本上都能看懂,但是实际呢?....今天是集训第一次交作业的时间,突然发现看似简单升级需 ...
- 路飞学城-Python开发集训-第4章
学习心得: 学习笔记: 在python中一个py文件就是一个模块 模块好处: 1.提高可维护性 2.可重用 3.避免函数名和变量名冲突 模块分为三种: 1.内置标准模块(标准库),查看所有自带和第三方 ...
- 路飞学城-Python开发集训-第2章
学习心得: 这章对编码的讲解超级赞,现在对于编码终于有一点认知了,但还没有大彻大悟,还需要更加细心的琢磨一下Alex博客和视频,以前真的是被编码折磨死了,因为编码的问题而浪费的时间很多很多,现在终于感 ...
- 路飞学城-Python开发-第二章
''' 数据结构: menu = { '北京':{ '海淀':{ '五道口':{ 'soho':{}, '网易':{}, 'google':{} }, '中关村':{ '爱奇艺':{}, '汽车之家' ...
- 路飞学城-Python开发-第三章
# 数据结构: # goods = [ # {"name": "电脑", "price": 1999}, # {"name&quo ...
- 路飞学城-Python开发-第一章
# 基础需求: # 让用户输入用户名密码 # 认证成功后显示欢迎信息 # 输错三次后退出程序 username = 'pandaboy' password = ' def Login(username ...
随机推荐
- 关于Tomcat下项目被启动两次为问题
最近遇见了一个很搞得事情,在tomcat下启动项目时自己写的定时程序被执行了两次,导致程序启动了两个线程,使定时任务在几秒间隔内执行了两次,后来通过日志查到,原来是tomcat将项目启动了两次,为什么 ...
- 常用css和js内容
1.让一个200x200的div在不同分辨率屏幕上下左右居中. <div class="box"></div> <style type="t ...
- 不能使用一般 Request 集合
request.querystring("id"),不能request("id")
- [JoyOI] 1035 棋盘覆盖 (二分图匹配)
题目描述 给出一张nn(n<=100)的国际象棋棋盘,其中被删除了一些点,问可以使用多少12的多米诺骨牌进行掩盖. 输入格式 第一行为n,m(表示有m个删除的格子) 第二行到m+1行为x,y,分 ...
- 02.OOP面向对象-1.面向对象介绍
1.面向对象编程介绍 面向对象(object-oriented ;简称: OO) 至今还没有统一的概念 我这里把它定义为: 按人们 认识客观世界的系统思维方式,采用基于对象(实体) 的概念建立模型,模 ...
- linux_ubuntu 连接xftp
一.修改静态ip 打开网络配置文件 :vim /etc/network/interfaces 1.添加以下配置: 注意:ubuntu 网卡名为 ens33 .多数liunx系统的网卡名为eth0. 可 ...
- Google NewSQL之Spanner
谷歌分布式三宝 BigTable.GFS.MapReduce这传说中的谷歌分布式三驾马车,虽然谷歌没有公开具体实现代码,但却公布了相应论文,对分布式文件系统.大数据挖掘和NoSQL流行起了重大促进作用 ...
- NYOJ 298
利用矩阵来做变换,参考Max大神的思想的,虽然不是同一道题. ----------- 给定n个点,m个操作,构造O(m+n)的算法输出m个操作后各点的位置.操作有平移.缩放.翻转和旋转 这里的操 ...
- 【C/C++学院】0724-堆栈简单介绍/静态区/内存完毕篇/多线程
[送给在路上的程序猿] 对于一个开发人员而言,可以胜任系统中随意一个模块的开发是其核心价值的体现. 对于一个架构师而言,掌握各种语言的优势并能够运用到系统中.由此简化系统的开发.是其架构生涯的第一步. ...
- DOMContentLoaded事件<zz>
今天查看百度空间源代码,发现多了个util.js文件,打开看看.里面里面定义了addDOMLoadEvent.这是干什么用的? 仔细查看代码,发现在Mozilla添加了DOMContentLoaded ...