js day2

1、三种使用方式


1、元素事件


<any οnclick="">


2、在<script>标记中编写脚本


<script></script>


3、将js编写在js文件中


1、创建 ***.js 文件


2、在网页中引入js文件


<script src="..."></script>


2、变量与常量


1、变量


var 变量名 = 值;


注意:声明变量未赋值,值为 undefined


2、常量


const 常量名 = 值;


3、数据类型


1、number


表示 整数(32bit) 和 小数(64bit)


var num = 25;


2、string


必须使用 "" 或 '' 引起来


Unicode码:


var r = "张".charCodeAt().toString(16);


var c = "\u5f20";


转义字符:


\n : 换行


\t : 制表符


\" : "


\' : '


\\ : \


3、boolean


真 :true


假 :false


4、数据类型转换


1、隐式转换


2、强制转换 - 转换函数


1、toString()


2、parseInt()


如果转换失败,结果为 NaN


3、parseFloat()


4、Number()


如果包含非法字符,结果就是NaN


5、运算符


1、算数运算符


+,-,*,/,%


++,--


++ :自增


-- :自减






var num = 5;


num ++; //6


console.log(++num); //7


console.log(num);//7


2、关系运算符


>,<,>=,<=,==,!=,===,!==






1、字符串与数字比较


将字符串使用Number()转换为数字,再进行比较


2、字符串与字符串比较


比较每位字符上的Unicode码


3、逻辑运算符


!,&&,||


4、条件运算符


条件?表达式1:表达式2;


6、流程控制


1、顺序结构


2、分支结构


1、if结构


1、if(条件){}


2、if(条件){}else{}


3、else...if结构


if(条件){


...


}else if(条件){


...


}else if(条件){


...


}else{


...


}


2、switch结构


作用:等值判断


语法:


switch(变量){


case 值1:


语句块;


break; //可选,退出


default:


语句块;


}


注意:


1、各个case块与default之间是不要求顺序的


2、等值判断使用的 === 判断的






switch(变量){


case 1:


case 2:


case 3:


...


default;


}


3、循环结构






=================================================


1、循环结构


1、作用


重复的执行相同或相似的操作


2、循环二要素


1、循环条件


2、循环操作






ex:


1、想打印 100 遍的 Hello World


条件:从第1遍开始 到 第100遍结束


操作:打印 Hello World


2、打印 1-100 之间所有的数字


条件:从第1遍开始 到 第100遍结束


操作:打印 条件的值


3、while 循环


1、语法


while(循环条件){


循环操作


}






流程:


1、判断循环条件


2、如果条件为真,则执行循环操作


2.1、执行完操作后,再回来判断条件,... ...


3、如果条件为假,则退出循环






2、ex


1、打印 100 遍 Hello World


条件:从1开始到100结束


操作:打印 Hello World


练习:


1、打印 1-100 之间所有的数字


2、打印 1-100 之间所有的数字的和


3、打印 1-100 之间所有的3的倍数的数字


4、do...while 循环


1、语法


do{


循环操作


}while(条件);






流程:


1、先执行循环操作


2、再判断循环条件


3、如果条件为真,则继续执行循环操作,否则退出循环


ex:


1、要求用户从弹框中循环的录入数据并打印在控制台上,直到输入 exit 为止


5、循环流程控制语句


1、break


在循环体内,跳出循环结构的


2、continue


跳出本次循环,继续执行下次循环


6、while VS do...while


1、相同


都是循环的执行某些操作


2、不同


1、while


先判断条件,再执行循环操作,条件不满足时,循环有可能一次都不执行


场合:由循环条件来决定循环操作的场合


2、do...while


先执行循环操作,再判断循环条件,即便条件在不满足的时候,至少也要执行一次操作


场合:由循环操作来决定循环条件的场合






猜数字:


生成一个1-100之间的随机数


允许用户循环的录入一个数字,与随机数进行比较


如果输入的数字比随机数大,提示猜大了


如果输入的数字比随机数小,提示猜小了


否则,提示正好,退出游戏


或者 用户输入 exit 也允许退出游戏


随机数:Math.random() ,生成一个0-1之间的小数


推荐步骤:


1、循环外:声明一个1-100之间的随机数


2、循环内(循环操作):


1、让用户输入一个1-100之间的数字或exit


2、判断输入的数据是否为 exit


如果是exit,则退出


3、如果不是exit则继续判断数据的数据与生成的随机数的大小问题


3、循环条件


1、用户猜对了


2、用户输入的是 exit


7、for 循环


1、while


var i = 1; //循环条件初始化(声明循环变量)


while(i<100){//循环条件的判断


console.log(i);//循环操作


i++;//更新循环条件/变量 


}


2、for语法


for(表达式1;表达式2;表达式3){


//循环操作


}


表达式1:循环条件初始化(声明循环变量)


表达式2:循环条件的判断


表达式3:更新循环条件/变量 






流程:


1、先执行表达式1,声明循环条件(执行1次)


2、再判断表达式2的值,true 或 false


3、如果为true,则执行循环操作,如果为false的话则退出循环


4、执行完循环操作之后,再执行表达式3


5、再判断表达式2的值,同步骤2...


练习:


1、判断素数


1、从弹框中随意输入一个数字,判断其是否为素数


素数 :只能被1和他自己整除的数字


2、打印九九乘法表中的一行数据


1、从弹框中随意输入一个数字(1-9),输入的是几,就打印第几行






1*3=3 2*3=6 3*3=9


3、for VS while 循环


1、相同


都是先判断循环条件,再执行循环操作的结构


2、不同


while :优先使用在不确定循环次数的场合下


for :优先使用在确定循环次数的场合下


4、循环的嵌套


允许在一个循环中,再出现另外一个循环


for(var i=1;i<=10;i++){ //外层循环


for(var j=1;j<=10;j++){ //内层循环





}


}


外层循环走一次,内层循环走一轮


练习:


打印完整的九九乘法表!!!


2、Function对象


1、什么是Function对象


Function就是JS中的函数,是一个独立的结构体,是一段预定义的,独立执行并且可以包含多条语句的代码块






<button οnclick="console.log()">...</button>


2、在JS中创建函数(重点)


function 函数名(参数列表){


函数体


}






参数列表:


如果有参数的话,编写参数列表。如果有多个参数的话,参数列表为用 , 隔开的参数名称。调用带参数的函数时,尽量按照参数的位置和数量进行传参,如果声明参数,调用未传递的话,值为undefined


返回值:


返回值是可选的,如果需要返回值,需要通过 return 值; 进行返回






函数的调用:


在任意JS合法位置处,都允许做函数的调用


函数名(参数列表);


3、函数的其他创建方式


1、匿名函数


匿名函数是没有名称的函数,多数会针对某一特殊功能而存在


function(){


函数体


}






ex:


window.onload = function(){


//函数体


}


4、全局函数


全局函数适用于所有的JS操作中。


由ES提供的全局函数:


在网页中无需声明,就可以直接使用


parseInt() / parseFloat()


Number() / isNaN()


eval()






isNaN(value) : 判断value是否为非数字


不是数字 :返回true


是数字 :返回 false


eval() : 执行由字符串来表示的JS代码


3、数组


1、什么是数组


程序 = 数据结构 + 算法


算法:解决问题的思路和思想,通过顺序结构,分支结构,循环结构 来解决算法


数据结构:将数据与数据之间的关系利用特殊的结构给关联起来


数组(Array)是一个用于保存批量数据的数据结构


数组是一个用一个变量来保存多个数据的特殊结构,是按照线性结构来保存数据的


2、创建数组


1、创建一个空数组


var 数组名 = [];


2、创建数组并初始化元素


var 数组名 = [元素1,元素2,元素3,...];


3、创建一个空数组


var 数组名 = new Array();


4、创建数组并初始化元素


var 数组名 = new Array(元素1,元素2,元素3,...);


3、数组的使用


获取 户 设置数组中的元素,一律都使用下标


下标范围:从0开始,到数组元素个数-1为止


1、将 arr2 数组中的第一个元素更改为 张三丰


arr2[0] = "张三丰";


2、获取 arr2 中的第二个元素


console.log(arr2[1]);


4、获取数组的长度


属性:length


用法:数组名.length


使用场合:


1、配合循环,去遍历数组中的每一个元素


for(var i=0;i<arr2.length;i++){


console.log(i+":"+arr2[i]);


}


2、能够找到数组中,最新要插入元素的位置(即向数组尾部再增加元素时的位置)


var arr2 = new Array("张无忌","赵敏","周芷若","金华婆婆");






arr2[arr2.length] = "狮王.金毛";


练习:


1、让用户循环的从弹框中录入数据,并将输入的数据保存在一个数组中,直到输入 exit 为止(exit不存)。打印数组中所有的数据


2、声明一个数组(包含若干整数),查找该数组中的最大值


















作业:


1、数组


用函数完成以下内容:


1、声明一个数组,内容随意


2、从弹框中录入一个数据


3、判断录入的数据在数组中的下标是多少


如果存在:则显示下标值


如果不存在:提示 输入的数据不存在


2、循环


用函数完成以下内容


1、分三次从弹框中录入年,月,日


2、计算该日是星期几


前提:1900年1月1日 是星期1

































  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值