Python web前端 06 运算符 循环
Python web前端 06 运算符 循环
一、运算符
#JS六大数据类型
#number 数字
#string 字符串
#boolean 布尔型
#function 函数
#undefined 未定义:一个变量声明之后没有复制就是未定义
#object 对象
在JS里面null属于对象类型,但是它不具有很多对象的共性,所以很多资料将他归为单独一类数据类型null var a = 11;#number
var a = "aaa";#string js里面双引号的地方也可以用单引号来代替,不过要配对使用
var a = true;#boolean
var a = function(){...} #function
var a ;#undefined
alert(typeof a)#弹窗a的类型 var a = {"name":"xiaopo","age"= ""};#object
var a = document.getElementById("box");#object
运算符
#算数运算符(基础数字运算)
+ - * / %(取余) #当不是数字之间的运算的时候
#+号两边一旦有字符串(引号引起来的一坨),那么+号就不在是数学运算了,而变成了字符串拼接,最后结果是字符串
#-*%号是尽量将字符串转化成数字(隐式类型转换)
隐式类型转换:即使结果不是数字,也会对这个结果进行隐式类型转换,将他的类型转换为数字
赋值运算符
+= -= *= /= %=#跟其他脚本语言一样 ++ -- #两个都存在隐式类型转换,会全部转换为数字 var x=6;
var y=++x;
++x #x=x+1 y=x 先加再赋值
x++ #y=x x=x+1 先赋值再加
逻辑运算符
#针对布尔值 true false
#&& 与两边都为真,结果才是真,其他是假
#|| 或 两边都为假,结果才是假,其他是真
#! 非 取反,真变假,假变真 #当逻辑运算符,两边不一定是布尔值的时候
#&&遇到假就停,但是不会进行类型转 换
var a = true&&1&&0&&false #弹窗弹出0(0代表假)
var a = true&&1&&1&&false #弹出false
var a= true&&1&&-2&&5 #弹出5
#|| 遇到真就停,但是不会进行类型转换(假同上)
#!隐式类型转换,将后面的数据先转换为布尔型在取反
var a =!"" #0是假的,转换为假后再取反,就是真
var a =!"" # 假
二、循环
1、for循环
#for循环
for(var = 1;i<9;i++){
console.log(i)
} #顺序依次是1、var=1 ;2、i<9 ; 3、 console.log(i) ; 4、i++ 直至条件2不满足的时候跳出循环
2、嵌套循环
for (var i =1;i<5;i++){
for(var j=1;j<3;j++){
console.log(i+";"+j);
}
} for(var=1;i<20;i++){
if(i==5){
break;#中断循环,终止循环,结束循环,未执行的代码不执行
continue;#跳出本次循环
}
console.log(i) ;
}
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
<script>
var aLi=document.getElementByTagName("li")
for(var i=0,len=ali.length;i<len;i++){
aLi[i].onclick=function{
alert(i);#照常理来说,鼠标点击的li,就会弹出一个弹窗表示他的下标,但是由于这是个函数的缘故,所以弹出来的都是函数结束时的值(也就是for循环结束时i的值4),这就满足不了需求
}
}
</script> <script>
var aLi=document.getElementByTagName("li")
for(var i=0,len=ali.length;i<len;i++){
aLi[i].index=i;#index是自定义变量(可以是任何值aa,bb,vv),将每次循环的i赋值给自定义变量index
aLi[i].onclick=function{
alert(this.index);#循环结束时的i
}
}
</script>
#以后再写for循环的时候,循环里面如果有事件,就必须要赋值变量,用自定义变量存起来,不然打印出来的就是整个函数结束的i
let
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
<script>
var aLi=document.getElementByTagName("li")
for(let i=0,len=ali.length;i<len;i++){
aLi[i].onclick=function{
alert(i);
}
}
</script>
#直接用let取代var就可以直接满足要求了
3、if循环
#if ==>布尔值
#判断符
> < >= <= == != !== ===
== #只判断是否一样 "5"=5
=== #不仅判断值,还判断类型是否一样 "5"===5 false #当if的条件 运算完后不是布尔型的时候,会强制类型转换为布尔值
#以下这些值在转换以后为false
#0(number); false(boolean); ""(string) ;null(object/null);undefined(undefined);NaN(number) #NaN:Not a Number 属于number类型,一般在非法运算的时候才会出现NaN, isNaN(参数)非常讨厌数字
#首先尽量把参数转换为数字,然后当参数是数字,返回false;不是数字,返回true #在if里面,能用布尔值做条件判断的时候,不要用其他的来代替,因为强制数据转换需要耗费时间,在两个值比较的时候,能用三等判断的时候,就用三等判断
if(""){
alert("真");#条件为真的时候执行
}else{
alert("假");#条件为假的时候执行;当只需要真语句的时候,假语句可以不写
} #如果想要假的时候执行,真的时候不执行,在if条件里面加个!(取反)即可 #还有下面两种形式来表示
9>8?alert(1):alert(0);# 条件?真语句:假语句 这便是三目运算
x=5>3?5:3; #如果5大于3,那么x等于5,否则x=3 var x=20;
if(x>20){alert("x>20");}
else if(x>15){alert("x>15");}#弹窗淡出x>15,这里弹出以后,下面满足条件的不会执行了
else if(x>10){alert("x>10");}
else{alert(x<0);}
4、switch
var name="xiaopo";
if(name==="xiaopo"){alert(name+"好漂亮");}
else if(name==="小狗"){alert(name+"好帅");}
else if(name==="小猫"){alert(name+"好丑");}
else{alert(name+"你是谁");} #switch就可以同样实现上面的功能
var name="xiaopo"
switch(name){
case"xiaopo":#这里加条件
alert(name+"好漂亮");
break;#必须加上break,跳出这个循环
case"小狗":
alert(name+"好帅");
break;
case"小狗":
alert(name+"好丑");
break;
default:
alert(name+"你是谁");
break;
}
while和dowhile
var i = 1;
for(;i<9;){#分号必须写
console.log(i);
i++;
} #while类似上面
var i=1;#先判断后执行
while(i<9){
console.log(i);
i++;
} var i=10;#这个dowhile循环先执行在判断,至少会执行一次
do{
console.log(i);
i++;
}while(i<9);
9*9乘法表
var oBox=document.getElementById("box");
for(var i=1;i<10;i++){
for(var j=1;j<i;
var aUl=document.getElementsByTagName("ul");
var len=aUl.length;
var index=0;
for(var i =0;i<len;i++){
aUl[i].qq=i;
aUl[i].onclinck=function(){
aUl[index].className="";
index=this.qq;
aUl[index].className="show";
}
}
j++){
oBox.innerHTML+="<span>"+i+"*"+j+"="+i*j+"</span>";
}
oBox.innerHTML+="<br>";
}
下拉菜单
Python web前端 06 运算符 循环的更多相关文章
- Python web前端 08 字符串 数组 json
Python web前端 08 字符串 数组 json 一.string #string 字符串 #索引 下标 偏移量 ---从0开始 str[index]; #通过索引取字符串 可读不可写 str. ...
- Python web前端 01 HTML常用标签
Python web前端 01 HTML常用标签 一.HTML创建项目 file ---->new project -----> 输入项目名------>创建文件夹 new dicr ...
- Python web前端 02 CSS
Python web前端 02 CSS 一.选择器 1.CSS的几种样式(CSS用来修饰.美化网页的) #建立模板 复制内容--->SETTING---> Editor -----> ...
- Python web前端 03 CSS属性
Python web前端 03 CSS属性 一.文字.文本属性 1.文字属性 font-family #字体类型浏览器默认的字体是微软雅黑,字体中有多个字体的时候,如果前面的字体没有就使用后面的字体 ...
- Python web前端 04 盒子模型
Python web前端 04 盒子模型 盒子模型是由内容(content).内边距(padding).外边距(margin).边框(border)组成的 一.边框 border #border 边框 ...
- Python web前端 05 JavaScript
Python web前端 05 JavaScript 一.获取元素 1.初识JavaScript /* .. */ #这是多行注释 // #这是单行注释 #JavaScript是一种脚本语言,是一种动 ...
- Python web前端 07 函数及作用域
Python web前端 07 函数及作用域 一.函数 1.有名函数和匿名函数 #函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块 #函数就是包裹在花括号里面的代码块,前面使用了关键字fun ...
- Python web前端 09 jQuery
Python web前端 09 jQuery 一.三个重要网址 http://jquery.cuishifeng.cn/ #中文查询网站 http://www.bootcdn.cn/ #引入jq ht ...
- Python web前端 11 form 和 ajax
Python web前端 11 form 和 ajax 一.打开服务器 将handlers.py.httpd.py和libs.py三个文件放入新文件夹中,双击打开httpd.py文件即可 二.ajax ...
随机推荐
- Oracle 中 over() 函数
:first-child { margin-top: 0; } blockquote > :last-child { margin-bottom: 0; } img { border: 0; m ...
- C#获取当前站点的根地址
/// <summary> /// 得到当前网站的根地址 /// </summary> /// <returns></returns> protecte ...
- Java后端WebSocket的Tomcat实现(转载)
一.WebSocket简单介绍 随着互联网的发展,传统的HTTP协议已经很难满足Web应用日益复杂的需求了.近年来,随着HTML5的诞生,WebSocket协议被提出,它实现了浏览器与服务器的全双工通 ...
- Mbatis——动态SQL
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "- ...
- Selenium如何定位动态id/class的元素?
今天再给大家分享一个定位不到元素的原因——动态id. 没有打开新页面.没有alert.没有frame.加了等待时间,但是还是定位不到元素?很有可能是你要定位的元素的属性是动态的,即每次打开页面,这个 ...
- 进程间传递文件描述符fd
众所周知,子进程会继承父进程已经打开的文件描述符fd,但是fork之后的是不会被继承的,这个时候是否无能无力了?答应是NO.Linux提供了一个系统调用sendmsg,借助它,可以实现进程间传递文件描 ...
- (转)ASP.NET MVC4+EasyUI+EntityFrameWork权限管理系统——数据库的设计(一)
原文地址:http://www.cnblogs.com/cmsdn/p/3371576.html 快一年没写博客了,这段时间感觉好迷茫,写点博客,记录一下自己的成长过程,希望对大家也有帮助 先上图 一 ...
- 关于Html5中的单选与多选
1.下拉列表样式: <select> <option value ="volvo">Volvo</option> <option valu ...
- tornado设置cookie过期时间(expires time)
具体的tornado设置过期时间的东西, 我也是查资料才发现的, 现在就贴代码吧 用户登录之后, 设置cookie, 我使用set_secure_cookie的, 它默认是有个30天的过期时间, 导致 ...
- SQL/T-SQL实例参考-2
对多关联查询,查询多中的记录,但是返回一的结果集 子查询语法 --一对多关联查询,查询多中的记录,但是返回一的结果集 SELECT C.* FROM ( SELECT A.BasicID FROM [ ...