JS控制语句(if、for等)、数组(例题)、方法(常用方法介绍)
控制语句
If
if (1>2){
alert()
}
var a= parseInt(prompt('请输入数字'));
if (isNaN(a)) {
alert("输入的不是数字");
}
else if (a >= 0 && a <= 100){
alert('范围内');
}
else {
alert('超出');
}
******************************************************
swith
1.先找case的值,匹配上了进入case执行代码。找break;
2.如果没有找到case的值,再找default,进入default,再找break。
3.如果没有break,进入下一个case或者default找break,直到最后。
swith("值"){
case 1:
alert("今天星期一");
break;
case 2:
alert("今天星期二");
break;
case 3:
alert("今天星期三");
break;
case 4:
alert("今天星期四");
break;
default:
alert("今天星期五");
break;
}
*****************************************************
var a = +prompt('请输入分数');
a = parseInt(a/10);
switch(a){
case 9:
alert('优秀');
break;
case 8:
alert('良好');
break;
case 7:
alert('中等');
break;
case 5:
alert('及格');
break;
default:
alert('不及格');
break;
}
*******************************************************
for
for(初始条件;判断条件;状态改变){
代码;
}
1.for经常用在循环次数确定的情况下。
while(条件){
}
2.while循环次数不确定(满足某种条件)。
先判断条件,再执行。
3.do{
}while(); 先执行一遍{}中的内容,再判断。
一个羽毛球15,一个球2,一瓶水1,200元全花光。
for (var i = 1 ; i <=13 ; i++ ){
for(var j = 1 ; j <=66 ; j++){
for(var k = 1 ; k <= 100 ; k++){
if (15*i+3*j+2*k==200) {
document.write(i + '个羽毛球拍。'+ j + '个球。' + k + '瓶水。'+'<br>');
}
}
}
}
迭代:1到100的和。
function yibai(){
// alert('一百以内和七有关的数');
for (var i = 1; i <= 100; i++) {
if (i%10==7 || i%7==0 || parseInt(i/10)==7) {
document.write(i + '<br>');
}
}
}
穷举:百钱买百鸡。
死循环(常用三种案例)
1.while(){
if(){
break;
}
}
2.for{;;}
break:结束,终结,停止当前循环。
continue:跳过本次循环。
数组
数组:定义 赋值 使用(取值) 遍历 数组方法 字符串方法
赋值:
var arr = [];先定义后赋值
var arr = [1,2,3,4,5]; 定义并赋值
arr [0] = 1 ;
数组元素:数组里面的每一个值就是数组元素
数组长度:数组元素的个数
数组下标:数组元素在数组中的位置 从0开始
最大下标 = 数组长度 - 1
取值;
arr1["a","aaa","b","bbb"];
for(var i = 0 ; i<arr1.lenght;i++ ){
document.write(arr1[i]);
}
consolo.log(arr1);
consolo.log(arr1.join(符号));
一位数组:[1,2,3,4,5,6]
二维数组:一位数组的数组元素是一维数组
var arr = [
[1, 2, 3, 4, 5]
[11,22,33,44,55]
]
arr[1][2] = 33;
for(var i = 0 ; i<arr.lenght;i++ ){
for(var k = 0 ; k<arr[i].lenght;k++ ){
arr[i][k];
}
}
JS针对数组的循环方式。
for (var i in arr){
consolo.log(arr[1]);
}
***改写上面的为for语句***
for(i = 0;i <= arr.lenth; i ++)
找max数在数组中的位置(下标)(属于方法)
arr.indexOf(max);
方法
一般形式方法:
function 方法名(){
}
定义 调用 参数 返回值
写在方法定义的小括号里面的叫形式参数(形参中允许有默认值)
function ff(x,y){}
写在方法调用的小括号里面的叫实际参数。
ff(x,y);
<button onclick= “show(‘lisi’)”>显示姓名</button>
<script>
function show(name){
alert(name);
}
</script>
方法匿名:var fun = function(name = ‘lisi’){
}
fun(‘zhangsan);(将方法调到前面进行定义)
各种方法的类举
argumments:
var fun = function(name = ‘lisi’){
argumments[0];//zhangsan
argumments[1];//12
}
fun(‘zhangsan’,12,’nv’);
return:
var a = 4,
b = 5;
alert(aa);
function jisu(x,y);{
return x + y;//返回的是aa的值。
}
join
join(separator): 将数组的元素组起一个字符串,以separator为分隔符,省略的话则用默认用逗号为分隔符,该方法只接收一个参数:即分隔符。
var arr = [1,2,3];
console.log(arr.join()); // 1,2,3
console.log(arr.join("-")); // 1-2-3
console.log(arr); // [1, 2, 3](原数组不变)
通过join()方法可以实现重复字符串,只需传入字符串以及重复的次数,就能返回重复后的字符串,函数如下:
function repeatString(str, n) {
return new Array(n + 1).join(str);
}
console.log(repeatString("abc", 3)); // abcabcabc
console.log(repeatString("Hi", 5)); // HiHiHiHiHi
push()和pop()
push(): 可以接收任意数量的参数,把它们逐个添加到数组末尾,并返回修改后数组的长度。
pop():数组末尾移除最后一项,减少数组的 length 值,然后返回移除的项。
var arr
= ["Lily","lucy","Tom"];
var count
= arr.push("Jack","Sean");
console.log(count); // 5
console.log(arr); // ["Lily",
"lucy", "Tom", "Jack", "Sean"]
var item
= arr.pop();
console.log(item); // Sean
console.log(arr); // ["Lily",
"lucy", "Tom", "Jack"]
shift()和unshift()
shift():删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined 。
unshift:将参数添加到原数组开头,并返回数组的长度 。
这组方法和上面的push()和pop()方法正好对应,一个是操作数组的开头,一个是操作数组的结尾
var arr
= ["Lily","lucy","Tom"];
var count
= arr.unshift("Jack","Sean");
console.log(count); // 5
console.log(arr); //["Jack",
"Sean", "Lily", "lucy", "Tom"]
var item
= arr.shift();
console.log(item); // Jack
console.log(arr); // ["Sean",
"Lily", "lucy", "Tom"]
splice
splice():很强大的数组方法,它有很多种用法,可以实现删除、插入和替换。
删除:可以删除任意数量的项,只需指定 2 个参数:要删除的第一项的位置和要删除的项数。例如, splice(0,2)会删除数组中的前两项。
插入:可以向指定位置插入任意数量的项,只需提供 3 个参数:起始位置、 0(要删除的项数)和要插入的项。例如,splice(2,0,4,6)会从当前数组的位置 2 开始插入4和6。
替换:可以向指定位置插入任意数量的项,且同时删除任意数量的项,只需指定 3 个参数:起始位置、要删除的项数和要插入的任意数量的项。插入的项数不必与删除的项数相等。例如,splice (2,1,4,6)会删除当前数组位置 2 的项,然后再从位置 2 开始插入4和6。
splice()方法始终都会返回一个数组,该数组中包含从原始数组中删除的项,如果没有删除任何项,则返回一个空数组。
var arr
= [1,3,5,7,9,11];
var arrRemoved
= arr.splice(0,2);
console.log(arr); //[5, 7, 9, 11]
console.log(arrRemoved); //[1, 3]
var arrRemoved2
= arr.splice(2,0,4,6);
console.log(arr); // [5, 7, 4, 6, 9, 11]
console.log(arrRemoved2); // []
var arrRemoved3
= arr.splice(1,1,2,4);
console.log(arr); // [5, 2, 4, 4, 6, 9,
11]
console.log(arrRemoved3); //[7]
JS控制语句(if、for等)、数组(例题)、方法(常用方法介绍)的更多相关文章
- JS中判断对象是不是数组的方法
JavaScript中检测对象的方法 1.typeof操作符 这种方法对于一些常用的类型来说那算是毫无压力,比如Function.String.Number.Undefined等,但是要是检测Arra ...
- JS常见的几种数组去重方法
总结一下JS中用到的数组去重的方法 方法一: 该方法利用对象的属性值不能相同: function arrDelLikeElement (array) { const result = []; con ...
- [js]es6语法: 字符串和数组的方法
s的方法 根据index取value: 取首尾项,arr[0], arr[arr.length-1] 根据value取index(判断是否包含子字符串): s.indexOf 栗子: 'maotai' ...
- Js判断对象是否是数组的方法
1.ECMAScript5中有一个现成的方法:Array.isArray(). var obj = {1:[1],2:[2]}, arr = [1], str = "1"; Arr ...
- 探究JS V8引擎下的“数组”底层实现
本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/np9Yoo02pEv9n_LCusZn3Q作者:李超 JavaScript 中的数组有很多特性 ...
- 再探JS数组原生方法—没想到你是这样的数组
最近作死又去做了一遍javascript-puzzlers上的44道变态题,这些题号称"JS语言专业八级"的水准,建议可以去试试,这里我不去解析这44道题了, ...
- JS合并两个数组的方法
JS合并两个数组的方法 我们在项目过程中,有时候会遇到需要将两个数组合并成为一个的情况.比如: var a = [1,2,3]; var b = [4,5,6]; 有两个数组a.b,需求是将两个数组合 ...
- JS实现数组去重方法大总结
js数组根据对象中的元素去重: var arr2 = [ { name: "name1", num: "1" }, { name: "name2&qu ...
- JavaScript -- 时光流逝(二):js中数组的方法
JavaScript -- 知识点回顾篇(二):js中数组的方法 1. 数组 (1)定义数组,数组赋值 <script type="text/javascript"> ...
- js数组push方法使用注意
js 数组的push方法,想必大家都知道是向数组末尾添加元素,但是有一个很关键的点需注意: 引自MDN 返回值 当调用该方法时,新的 length 属性值将被返回. var sports = [&qu ...
随机推荐
- ES6 promise学习
Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大. 1.promise是一构造函数,既然是构造函数,那么我们就可以用 new Promise()得到一个p ...
- element 如何自定义主题
自定义主题 在我学习element的时候,就直接忽略了.现在返回来学习一下 ,原来 通过自定义主题可以改变elemnt中默认的一些样式.这样,对于一些不想用elment自带但是用到比较多的样式,可以进 ...
- js函数声明和函数表达式的区别
Javascript Function无处不在,而且功能强大!通过Javascript函数可以让JS具有面向对象的一些特征,实现封装.继承等,也可以让代码得到复用.但事物都有两面性,Javascrip ...
- jdbc的入门学习
一.JDBC相关概念介绍 1.1.数据库驱动 这里的驱动的概念和平时听到的那种驱动的概念是一样的,比如平时购买的声卡,网卡直接插到计算机上面是不能用的,必须要安装相应的驱动程序之后才能够使用声卡和网卡 ...
- Oracle 迁移某用户的数据到Sql Server
准备条件: 1.Oracle11g数据库 2.Sql Server 2008 3.Microsoft SQL Server Migration Assistant for Oracle 步奏如下: 1 ...
- 来自一个电子狂的stm32学习历程
文章尾部有学习时的一些视频资料在学的可以看看那么我们就进入今天的主题我stm32的学习历程 在学习了51单片机之后,早已经对单片机这个东西甚有了解了,所有不管是从内部资源,还是一些常见应用,都可以说的 ...
- VS2015调试ArcMap Add-in插件提示尝试运行项目时出错,无法启动程序“路径\arcmap.exe”
如图所示的错误: 打开VS2015→工具→选项→常规→如图标记的两项打钩: 参考: https://gis.stackovernet.com/cn/q/40845 http://www.voidcn. ...
- Mysqlbinlog解析工具
Mysql的binlog日志作用是用来记录mysql内部增删改查等对mysql数据库有更新的内容的记录(对数据库的改动),对数据库的查询select或show等不会被binlog日志记录;主要用于数据 ...
- Delphi 2010 新增功能之: IOUtils 单元(6): TPath(结构体) 的方法与属性
以后路径相关的处理, 用 IOUtils.TPath 就很方便了. //较常用的方法: TPath.GetTempPath; {获取临时文件夹路径} TPath.Ge ...
- iOS 代码混淆
一般做了防调试的话,被调试进程会退出的,是防动态分析措施. 代码混淆加花这些是防静态分析措施. 反调试是防动态分析措施. 混淆的方法方法名混淆其实就是字符串替换,有2个方法可以,一个是#define, ...