js回顾1
1、正则:
/^[0-9a-zZ-Z_]*&/ //匹配0到多个,+是1到多个,?0或多个,.任意值
/^[0-9a-zZ-Z_]{6,}&/ //精确到至少6位
\w查找单词字符
检测:test()
2、1.一次性判断:if(){ } else{ }
2.多次判断:if(){ }
if(){ }
if(){ }
if(){ }
3.成绩等级判断:
var a=99;
var b=Math.floor(a/10);
console.log("b:",b)
switch(b){
case 9:console.log("A"); break;
case 8:console.log("B") ; break;
case 7:console.log("C"); break;
case 6:console.log("D"); break;
default:console.log("不及格"); break;
}
3.循环:(1)do {
}while()
(2)while(){ i++}//i++在循环体内,循环体内的语句会影响i++
(3)for(i=0;i<=100;i++){ }//for中的i++是在循环体外,循环体内的语句不影响i++
continue;//结束本次循环,继续下一次
break;//跳出循环体
4、冒泡排序:n个数,会比较n-1轮,每一轮较上一次少一次比较
//冒泡排序(多重循环)
var arr1=[2,4,1,3,6,9,78,0];
for(var i=0;i<arr1.length-1;i++){
for(var j=0;j<arr1.length-1-i;j++){
if(arr1[j]>arr1[j+1]){
var tmp=arr1[j];
arr1[j]=arr1[j+1];
arr1[j+1]=tmp;
}
}
}
console.log(arr1);
5、数据类型
(1)var obj={a:100};
var fun1=function(obj){
obj.a++;
}
fun1(obj);//a=101 引用类型
(2)a=100;
var fun1=function(a){
a++;
}//原始类型
fun1()//a=100
(3)var obj={a:100};
var fun1=function(obj){
var obj={a:100};
obj.a++;
}
fun1(obj);//a=100
isNaN()判断是否为NaN
6、运算符
1、算数运算符:+ - * / %
2、比较运算符:> < >= <= == === !=
3、0==false;1==true;
2==true;(错误)
3、var b;
if(b){
}//b有值时
if(!b){
}//b没有值时
一般不推荐把null和undefi写出来
4、a++,++a,a+=b,a-=b
6、实例
//冒泡排序
var arr1=[2,4,1,3,6,9,78,0];
for(var i=0;i<arr1.length-1;i++){
for(var j=0;j<arr1.length-1-i;j++){
if(arr1[j]>arr1[j+1]){
var tmp=arr1[j];
arr1[j]=arr1[j+1];
arr1[j+1]=tmp;
}
}
}
console.log(arr1);
arr1.forEach(function(value){
console.log(value,i);
});
// var in方法
for(var k in arr1){
console.log(k,arr1[k]);
}
var obj={
name:"张飞",
sex:"男",
age:16
}
for(var m in obj){
console.log("var in方法",m,obj[m]);
}
//forEach方法
var arr2=[1,2,3,4,50];
var arr3=[];
arr2.forEach(function(value){
value=value*10;
console.log(value);
arr3.push(value);
})
console.log(arr3);
//map()方法 1,做循环 2、在循环的同时可以通过return返回新的数组当中
var arr4=arr2.map(function(value){
if(value>10)
{return value*10;}
else{
return value;
}
})
console.log(arr4);
// filter()方法:做过滤
var arr5=arr2.filter(function(value){
if(value>10)
{return value;}
})
console.log("arr5:",arr5);
js回顾1的更多相关文章
- js回顾
回顾 js 组成部分 ECMAScript BOM DOM 变量声明~~ var 变量名 = 初始化值: ...
- 前端学习(十四)js回顾和定时器(笔记)
回顾知识点: 作用域: 1.全局变量:在任何位置都可以使用的变量 2.局部变量:只能在函数内部使用的变量 3.闭包:子函数可以使用父函数的局部变量 -- ...
- js回顾(DOM中标签的CRUD,表格等)
01-DOM中的创建和添加标签 02-删除替换克隆标签 03-全选全不选反选 04-新闻字体 05-表格增删 06-动态生成表格 07-表格隔行变色 08-左到右右到左(将左边的标签移动到右边) 09 ...
- js 回顾知识总结一
1.js数据类型? 基本数据类型:String(字符串).boolean(布尔值).Number(数字).undefined(未定义).null(空) 引用数据类型:Object(对象).Array( ...
- js回顾2
1:事件流:一个事件发生时按一个方向传播 eg:a标签->html 冒泡:从里到外(一般的选择)-----IE只有冒泡 捕获:从外到里-----网景只有捕获(已经不存在了) 2.事件处理的两种种 ...
- js+dom开发第十六天
一.css常用标签及页面布局 1.常用标签 position(定位) z-index(定位多层顺序) background(背景) text-align(针对字符自动左右居中) margin(外边距) ...
- 实现一个类 RequireJS 的模块加载器 (二)
2017 新年好 ! 新年第一天对我来说真是悲伤 ,早上兴冲冲地爬起来背着书包跑去实验室,结果今天大家都休息 .回宿舍的时候发现书包湿了,原来盒子装的牛奶盖子松了,泼了一书包,电脑风扇口和USB口都进 ...
- Css、javascript、dom(二)
一.css常用标签及页面布局 1.常用标签 position(定位) z-index(定位多层顺序) background(背景) margin(外边距) padding(内边距) font-size ...
- 一文入门HTML5
1.HTML5 上节回顾:一文读懂ES6(附PY3对比) | 一文入门NodeJS 演示demo:https://github.com/lotapp/BaseCode/tree/master/java ...
随机推荐
- Java学习路线图,专为新手定制的Java学习计划建议
怎么学习Java,这是很多新手经常会问我的问题,现在我简单描述下一个Java初学者到就业要学到的一些东西: 首先要明白Java体系设计到得三个方面:J2SE,J2EE,J2ME(KJAVA).J ...
- 求助sublime snippet
单个文件多个snippets不能生效?求助!(已解决) 文件保存路径:F:\work\sublime\Data\Packages\User\completions\xp.sublime-complet ...
- Linux-ubuntu指令使用积累(长期更新)
alias cat cd cp ls mkdir mv rm sudo tar chmod 1. sudo 系统管理指令.放在其它指令之前使用,允许普通用户在root权限下执行部分或者全部 ...
- C#操作SQL Server数据库
http://www.cnblogs.com/rainman/archive/2012/03/13/2393975.html
- 发生tcp丢包(拥堵、超时)重传
可以根据wireshark的Seq序列号和Ack序列号来进行详细分析. 可见,网络丢包(可能是网络拥堵.也有可能是骨干网上有"防火墙"故意随机丢包,因为这个服务器的IP放在国外)对 ...
- RDLC隔行变色的实现
在RDLC设计页面设置行属性中的Background为: =IIF((RowNumber(Nothing)) Mod 2 =1,"Transparent","#F6FAF ...
- 关于UIView的AutoresizingMask属性的研究
在 UIView 中有一个autoresizingMask的属性,它对应的是一个枚举的值(如下),属性的意思就是自动调整子控件与父控件中间的位置,宽高. 1 2 3 4 5 6 7 8 9 enum ...
- [HTML/HTML5]4 使用文本
4.1 组织文本 在已经采用结构化方式将页面划分为多个关键内容区域(content area)并添加相应的标题之后,就可以进一步对这些内容区域中的文本进行组织. 4.1.1 段落 p元素的具体功能 ...
- Yii读取TXT文件数据插入到数据库
个人平时会用到的方法,记录一下并分享给需要的朋友,Yii批量添加还需要clone一下model才可以,不然只会插入一条数据. 也可以把文件通过参数的方式调入到方法中. // 读取CVS文件 funct ...
- TransactionScope oracle不能用的问题(转载)
报错:“无法加载oramts.dll ”的错误 参见文章:关于TransactionScope分布式事务在Oracle下的运作