控制语句

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等)、数组(例题)、方法(常用方法介绍)的更多相关文章

  1. JS中判断对象是不是数组的方法

    JavaScript中检测对象的方法 1.typeof操作符 这种方法对于一些常用的类型来说那算是毫无压力,比如Function.String.Number.Undefined等,但是要是检测Arra ...

  2. JS常见的几种数组去重方法

    总结一下JS中用到的数组去重的方法  方法一: 该方法利用对象的属性值不能相同: function arrDelLikeElement (array) { const result = []; con ...

  3. [js]es6语法: 字符串和数组的方法

    s的方法 根据index取value: 取首尾项,arr[0], arr[arr.length-1] 根据value取index(判断是否包含子字符串): s.indexOf 栗子: 'maotai' ...

  4. Js判断对象是否是数组的方法

    1.ECMAScript5中有一个现成的方法:Array.isArray(). var obj = {1:[1],2:[2]}, arr = [1], str = "1"; Arr ...

  5. 探究JS V8引擎下的“数组”底层实现

    本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/np9Yoo02pEv9n_LCusZn3Q作者:李超 JavaScript 中的数组有很多特性 ...

  6. 再探JS数组原生方法—没想到你是这样的数组

    最近作死又去做了一遍javascript-puzzlers上的44道变态题,这些题号称"JS语言专业八级"的水准,建议可以去试试,这里我不去解析这44道题了, ...

  7. JS合并两个数组的方法

    JS合并两个数组的方法 我们在项目过程中,有时候会遇到需要将两个数组合并成为一个的情况.比如: var a = [1,2,3]; var b = [4,5,6]; 有两个数组a.b,需求是将两个数组合 ...

  8. JS实现数组去重方法大总结

    js数组根据对象中的元素去重: var arr2 = [ { name: "name1", num: "1" }, { name: "name2&qu ...

  9. JavaScript -- 时光流逝(二):js中数组的方法

    JavaScript -- 知识点回顾篇(二):js中数组的方法 1. 数组 (1)定义数组,数组赋值 <script type="text/javascript"> ...

  10. js数组push方法使用注意

    js 数组的push方法,想必大家都知道是向数组末尾添加元素,但是有一个很关键的点需注意: 引自MDN 返回值 当调用该方法时,新的 length 属性值将被返回. var sports = [&qu ...

随机推荐

  1. Codeforces Round #524 (Div. 2)

    A. Petya and Origamitime limit per test1 secondmemory limit per test256 megabytesinputstandard input ...

  2. Java课程课后作业之19学期之第一周博客作业

    作为一个大二的学生,自己已经不小了,没有大一那个时候的无忧无虑的可以放纵的时光,只剩下一年,我就该做出我人生的下一个重大决定了,这一次真的是我一个人的决定,从小到大,父母为我做过很多的决定,即使在小的 ...

  3. Java课程2019年3月开学测试

    一.登录界面 模板的验证方式已经写在了function里面,我们只需要在提交的过程中进行验证. 我们这里需要注意到的是在login文件夹中,有一个randcode的验证码生成文件,打开代码我们可以看到 ...

  4. Charles 使用

    一.设置域名焦点 View->Focused Hosts…-> 二.抓包https:配置证书 1. 电脑安装SSL证书 选择 “Help” -> “SSL Proxying” -&g ...

  5. 理解JS原型和原型链

    本文通过对<JavaScript高级程序设计>第六章的理解,加上自己的理解,重组了部分内容,形成下面的文字. 理解了原型这个概念,你的JS世界会清明很多. 为什么要为JS创造原型这个概念 ...

  6. pc端字体大小计算以及echart中字体大小计算

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  7. 013-mac重做系统后的软件安装

    一.系统设置 1.屏幕设置:系统偏好设置→显示器→排列,多个显示器可以排列组合 2.touch bar功能键设置:系统偏好设置→键盘→键盘,触控栏设置 F1 3.程序坞[dock]设置:系统偏好设置→ ...

  8. Python request 在linux上持续并发发送HTTP请求遇到 Failed to establish a new connection: [Errno 11] Resource temporarily unavailable

    并发数被限制 vim /etc/sysctl.conf 添加 net.ipv4.ip_local_port_range = 1024 65535   保存 /sbin/sysctl -p 让修改生效 ...

  9. StringBuufer与StringBulder线程的区别

    StringBulder的append方法 不是synchronized修饰的   线程不安全     效率相对很快StringBuufer的append方法  是 synchronized修饰的  ...

  10. UML与软件建模:第一次作业(UML用例图绘制)

    uml第一次作业: 用例图是什么? 用例图我感觉就是把网站中各个用户的动作分解一下,再用rational rose软件把图画出来. 画例图主要分为三个步骤:a 确定系统角色  b 确定用例  c 对用 ...