您的位置:首页 > Web前端 > JavaScript

JavaScript基础笔记(三)

2020-02-01 09:40 351 查看

这个系列记录之前学习JS基础的一些知识点和笔记,希望会对一些刚开始学习JavaScript的入门者有用,若有错误与不当之处欢迎指出与纠正!!!

二十一 小练习2
//从键盘输入3个整数,排序后输出
定义变量
var a,b,c;
接受用户输入的数据
a=+(window.prompt(“请输入第一个数”));
b=+(window.prompt(“请输入第二个数”));
c=+(window.prompt(“请输入第三个数”));
比较
If(a>=b&&b>=c){
console.log (a, b, c);
} else if(a>=c&&c>=b){
console.log (a, c, b);
} else if(b>=a&&a>=c){
console.log (b ,a , c);
} else if(b>=c&&c>=a){
console.log (b, c, a);
} else if(c>=a&&a>=b){
console.log (c, a, b);
} else if(c>=b&&b>=a){
console.log (c, b, a);
}
 easy way1 : 选择排序算法
定义变量
var a,b,c;
接受用户输入的数据
a=+(window.prompt(“请输入第一个数”));
b=+(window.prompt(“请输入第二个数”));
c=+(window.prompt(“请输入第三个数”));
选择排序
var temp;
If(a>b){
temp=a;
a=b;
b=temp;
}
If(a>c){
temp=a;
a=c;
c=temp;
}
If(b>c){
console.log( b, c, a)
}else{
console.log( c, a, b);
}
 easy way2 : 冒泡排序算法
定义变量
var a,b,c;
接受用户输入的数据
a=+(window.prompt(“请输入第一个数”));
b=+(window.prompt(“请输入第二个数”));
c=+(window.prompt(“请输入第三个数”));
冒泡排序
var temp;
If(a>b){
temp=a;
a=b;
b=temp;
}
If(b>c) {
temp=b;
b=c;
c=temp;
}
If(a>b){
console.log( c, a, b)
}
else{
console.log( c, b, a);
}
二十二 小练习3
//石头剪子布游戏的实现
//定义规则 0-剪刀 1-石头 2-布
定义变量 玩家和电脑
var player,computer;

电脑出拳
Computer=Math.floor (Math.random ()*3)
//console.log(computer);
玩家出拳
player=+(window.prompt(“请出拳:0.剪刀 1.石头 2.布”));
//console.log(computer);

判断比较
If(player <0||player>2){
Window.prompt(“请重新出拳:0.剪刀 1.石头 2.布”);
}else{
If(player=== 0&& computer=== 2 || player=== 1&& computer ===0 || player === 2&& computer === 1){
alert(“恭喜您,您赢了!”)
}else if(computer === 0 && player === 2 || computer === 1&& player === 0 || computer === 2&& player === 1){
alert(“很遗憾,您输了!”)
}else{
alert(“平局”)
}
}
二十三 switch语句
case全 类型 和 值 相等问题:JS中case判断是否相等时是全等于( === ),而不是等于( == ),也就是说既会判断类型是否相等又会判断值是否相等。
var num=10; case 0;// 会判断10 === 0,而不是10 == 0。
Var str=”123”;case “123”;//应该匹配到字符串类型,且字符串为123;

  1. Case后可以是常量也可以是变量
  2. 表达式判断问题:判断时会先计算表达式的值,
  3. Switch中的case只要匹配一次其他的都会失效,包括default
  4. 在每条case语句后增加break语句,使每一次执行之后均可跳出switch语句,从而避免不应有的结果
  5. Default可以省略
    二十四 if和switch的区别,推荐使用情况
    If用大的范围比较好控制,分之比较多且无法穷尽时最好用if,其他情况可以视情况而定
    如果数据量不是很大,并且数据是固定的可以用switch
    理论上switch的效率比较高
    switch弊端:判断用户输入的数是否大于100?
    二十五 循环
    for while dowhile
    break continue
     break:跳出当前循环;只能用于循环语句和switch语句,在其他地方没有意义;一个break只向外跳出一层循环,break后面的语句永远不会被执行
     continue:结束当前循环,进入下一次循环;用在循环中的if语句中,如果满足条件了则终止当前的数,跳转到下一次循环;;只能用于循环语句中,其他地方没有意义;continue后面的语句永远不会被执行
    二十六 for循环实现矩形绘制
    外循环控制行数
    For (var i=0;i<3;i++){
    内循环控制列数
    For(var j=0;j<3;j++)
    {
    Window.document.write(“”);
    }
    wndow.document.write(“
    ”);
    }
    二十七 for循环实现倒三角图
    For(var i=9;i<5;i++)
    {
    If(var j=I;j<5;j++)
    { window.document.write(“\t”)//\t制表符,输出八个空格
    }
    wndow.document.write(“
    ”);
    }
     需要用到i时,i的初始值就从1开始
     求1-100之前所有偶数的和,所有奇数的和
    二十八 数组和函数(array和function)
    数组变量可以放很多数据,数组也是一种数据类型
    产生数组的方式:1.使用Aray构造函数var array= new Array();var array= new Array(100); var array= new Array(“1”,”2”,”3”)
    2.使用数组字面量//创建了一个空数组
    Var arr=[];var arr1=[1,2,3];var arr2=[30];

二十九数组和函数(array和function)
.length属性:可以修改数组的长度
arr[index(.length-1)]:取出数组的值
 创建一个新的数组,把值存进去但是不知道长度是几,可以这么写:newArray[newArray.length]; newArray.length表示新数组目前的长度,正好可以等于新元素的下标索引,如此复制之后就增加了一个新元素,新数组的长度增1.
三十 数组常用的一些方法
join()\push()\pop()\shift()\unshift()\sort()\reverse()\concat()\slice()\splice()\indexof()\lastindexof()\forEach()\map(0\filter()\every()\some()\reduce()\reduceRight()
join(separator):将数组的元素组起一个字符串,以separator为分隔符,省略的话则用默认用逗号为分隔符,该方法只接受一个参数:即分隔符。
Push():接受任意数量的参数,把他们逐个添加到数组末尾,并返回修改后数组的长度;
pop(): 数组末尾移除最后一项,减少数组的length值,然后返回移除的项。
Shift(): 删除原数组的第一项,并返回删除元素的值,如果数组为空则返回undefined;
unshift():将参数添加到原数组开头,并返回数组的长度
reverse():反转数组项的顺序;会把原数组改变
concat():将参数添加到原数组中,这个方法会先copy一个当前数组,然后将接受到的参数添加到这个copy数组的末尾,最后返回新构建的数组。在没有给concat()方法传递参数的情况下,他只是复制当前数组并返回。(会将新数组拆分为一个一个的参数加入到原数组后面)
Indexof():接受两个参数:要查找的项和(可选的)表示查找起点位置的索引。其中,从数组的开头(位置0)开始向后查找,找到一个之后不会再继续查找。
\lastindexof():接受两个参数:要查找的项和(可选的)表示查找起点位置的索引。其中,从数组的末尾开始向后查找,找到一个之后不会再继续查找。
这两个方法都返回要查找的项在数组中的位置,或者在没找到的情况下返回-1,在比较第一个参数与数组中的每一项时,会使用全等操作符。
三十一 函数
函数就是完成特定功能的代码块
函数就是可以重复执行的代码块
将复杂的事情简单化,将重复使用的代码统一
Function函数名(参数1,参数2,参数3){
代码块
}
节点调试debugger,或者用alert();
三十二 函数常见的申明方式

  1. 函数申明方式
    function sum(){
    console.log(1+3);
    }

  2. 函数表达式的申明方式
    通过一个变量来接收(没有函数名)
    var add= function (){
    console.log(1+3);
    }

  3. 使用function的构造函数
    var add2=new function(”console.log(1+3); ”);
    add2();

  • 点赞
  • 收藏
  • 分享
  • 文章举报
Jiang_29k 发布了39 篇原创文章 · 获赞 0 · 访问量 393 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: