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 ...
随机推荐
- Java课程课后作业190315之最大连续子数组(二维数组版)
,, 在本周的课堂上,老师再一次提高了要求,将一维数组升级成为了二维数组,然后求出块状的连续子数组. 一开始还想着借鉴之前球一维数组的O(n)的算法,后来还是没有找到头绪,舍友讲了自己的办法,但是没有 ...
- 全排列筛选(java)
蓝桥杯-全排列筛选(java) 蓝桥杯每年必考全排列筛选,一般为填空题: 可以使用for循环暴力破解,但是代码相对较长,也比较乱,不建议使用: 这里使用递归来解决,代码量相对较少,也很好理解: 如下为 ...
- Python练手例子(5)
25.求1+2!+3!+...+20!的和. 程序分析:此程序只是把累加变成了累乘. #python3.7 n = 0 s = 0 t = 1 for n in range(1, 21): t *= ...
- nregistering JMX-exposed beans
https://blog.csdn.net/yang474231561/article/details/81738632 https://stackoverflow.com/questions/507 ...
- DjangoRestFramework学习二之序列化组件、视图组件 serializer modelserializer
DjangoRestFramework学习二之序列化组件.视图组件 本节目录 一 序列化组件 二 视图组件 三 xxx 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 序列化组 ...
- graph engine
有个侥幸的机会,参与了微软的项目,侥幸的接触了,graph engine图形数据库,感觉很是新颖,做点记录,和大家分享,理解有限,发现不足之处,还请指点. 微软发分布式图处理引擎GraphEngine ...
- [daily] emacs显示file name buffer的全路径
在用emacs看代码的时候,在文件间跳来跳去,如果工程太大的话,很可能会有重名文件,这个时候, 你就不知道自己在什么的地方了.需要一个查看当前正在编辑区的文件的名字的方法. emacs在这个地方,存储 ...
- [math] 什么是双曲函数(转发)
我完全不记得上高中的时候学习过双曲函数...额,暴露了... 原文地址:https://zhuanlan.zhihu.com/p/20042215 可能是最好的讲解双曲函数的文章 零.写在前面 (近期 ...
- TestNG Suite 运行出现中文乱码如何解决
场景: 用TestNG框架运行测试类,控制台视图输出出现中文乱码. 解决方案: 1.eclipse属性>workspace>other>utf-8 2.修改eclipse.ini 文 ...
- Win10 +gtx1660 +CUDA10.0+CNDNN7.5+Tensorflow 1.13.1
硬件环境:ASUS Z370 + i7 8700K + 16G + GTX1660 软件环境:win10 x64 anaconda 3.5 python 3.6 pycharm 201 ...