小编这周学了JS函数基础知识跟运算!!下面就迫不及待跟大家分享一下

【switch case的结构写法】

结构写法:(略)

2注意事项:
 ①switch结构()中的表达式。可以使用各种js支持的数据类型;
 ②switch结构 在进行判断的时候,使用的===判断;
 ③case后面的表达式可以是各种数据类型,但是值要求各不相同,否则也只会执行第一个case;
 ④break作用:执行完case代码后,跳出当前switch结构:
 缺少break的后果:从第一个正确的case项开始后,执行后面所有的case和default:原因⑤
 switch结构在进行判断的时候,只会判断一次正确答案,当遇到正确的case之后,将不会再判断后续的项目。
 ⑥:switch结构的执行效率要比多重if快,在多路分支结构中,推荐优先使用switch;

举个列子:

var month =prompt("请输入月份:");
switch(<--true--> parseFloat(month)){
//case num>=1&&num<=3:
case 1:
case 2:
case 3:
document.write("第一个季度");
break;
//case num>=4&&num<=6:
case 4:
case 5:
case 6:
document.write("第二个季度");
break;
//case num>=7&&num<=9:
case 7:
case 8:
case 9:
document.write("第三个季度");
break;
//case num>=10&&num<=12:
case 10:
case 11:
case 12:
document.write("第四个季度");
break;
default:
document.write("case不成立,执行default");
break;
}

switch跟case后面的条件写法很多,这是小编自己总结的两种方法!!!

var year = parseInt(prompt("请输入一个数字:"));
var month = parseInt(prompt("请输入一个数字:"));
var day = parseInt(prompt("请输入一个数字:"));

1 首先声明三个变量,年,月,日。我们首先要明确1,3,5,7,8,10,12月份是31天!4,6,9,11月份是30天!如果闰年2月份29天,否则28天;

var days = 0;

声明变量var days=0,使用switch结构
switch(month-1){

month-1即使减去当前月份!例如现在8月份,前面7个月过完了!!8月份并未完结!
case 11:
days += 30;
case 10:
days += 31;
case 9:
days += 30;
case 8:
days += 31;
case 7:
days += 31;
case 6:
days += 30;
case 5:
days += 31;
case 4:
days += 30;
case 3:
days += 31;
case 2:
if(year%4==0&&year%100!=0 || year%400==0)

判断是否是闰年
days += 29;
else
days += 28;
case 1:
days += 31;
case 0:
days += 0;
}
days += day; // 将当前月份的天数,加上

alert(days);

这题要求随便输入一个日子 既可以求出这天是这一年的第几天!包括闰年!

输入年,月;日

【循环结构的执行步骤】

1.声明循环变量:
 2.判断循环条件
3.执行循环体操作
4.更新循环变量
然后.循环执行2-4,直到条件不成立时,跳出循环。

while循环()中额表达式,运算结果可以是各种类型,但是最终结果都会转为真假,转换规则同if结构
具体看if结构

例如:

var num=1; //1.声明循环变量;
while (num<=10){//2 .判断循环条件
document.write(+num+"<br>"); //3.执行循环体操作
num++;

while循环的栗子:

我们计算1--N的和

var num=parseFloat(prompt("请输入一个数字:"));

手动输入变量num!!
var i= 1;
var sum= 0;

声明i跟sum变量!!!
while (i<=num){

()里面声明条件!可以看出跟if结构相似

sum += i;//1//3//6//10//15
i++;//2//3//4//5
}
document.write(sum);

打印结果

while 先判断在执行

do-while:先执行在判断,即使初始条件不成立,do-while也至少执行一次;

var num = 10;

声明num的值等于10;

先执行一轮在进行判断!!输出10,然后进行num--!!
do{
document.write(num+"<br>");
num --;

执行完一轮后,进行判断!符合条件继续进行
}while(num>0);

继续输出num

document.write(num);

最简单的的一个例子:最终结果就是10,9,8,7,6,5,4,3,2,1,0

do-while机构嵌套if,else结构

var COUNT =5;

声明变量 var COUNT=5;
do{
var num = prompt("请输入一个数字:");
if(num>COUNT){
alert("输入过大");
}else if(num<COUNT){
alert("输入过小");
}else{
alert("恭喜!猜对了!");
}
}while(num!=COUNT);

从题目可以看出本题求得是如果输入数字=5将是输入正确!将if结构嵌入do-while结构

while里面的判断条件是输入的num!=5将会继续,等于5会终止

[for 循环有三个表达式]

1 for三个表达式:1声明循环变量 2 判断循环条件 3 更新循环变量 三个表达式之间用;分割,for循环三个表达式都可以省略,但是两个;缺一不可

2 for循环的两个特点:先判断,在执行,与while相同

3 for循环三个表达式都可以有多部分组成:第二部分多个判断条件用&& || 链接,第1,3部分用逗号分隔;

for (var num = 1; num<=10; num++){
document.write(num+"<br>")

在()里面声明三个表达式!{}里面直接输出变量!

{循环控制语句}

1 break: 跳出本层循环,继续执行循环后面的语句;
如果循环有多层嵌套,则break只能跳出一层。

2 continue:跳过本次循环剩余的代码,继续执行下一次循环;
①对于for循环。continue之后执行的语句,是循环变量更新的语句i++;
②对于while. do-while循环,continue之后执行的语句,是循环条件判断!
因此,使用这两个循环时;必须将continue放到i++之后使用,否则,continue将跳过i++导致死循环;

求 1--100的和

可以同时输入2个变量!

我们可以看出(1+100)+(2+99).。。。(50+51)方法比较简单

var sum = 0;

求和变量!先声明一个var sum=0变量!
for (var i=1,j=100;i<j;i++,j--) {
sum += (i+j);

同时输入两个变量!i=1,j=100!  我们可以看出最后结果是50+51!所以i<j  ;并且i从1开始++,j从100开始--进行求和

if(i<50) document.write("("+i+"+"+j+")+");
else document.write("("+i+"+"+j+")=");
}

document.write(sum);

【循环嵌套的规律】

①:外层循环控制行数,内层循环控制每行的个数;
 ②:【图形题做题的思路】
 1确定图形一共有几行,行数即为外层循环的次数;
2确定每行中有几种元素组成,有几种元素即表示为有几个内层循环,
 3 确定每种元素的个数,个数即为每个内层循环的次数;
 tips:如果每种元素的个数不固定,则找出每种个元素的个数,与行号的关系,这个关系表示式,即为内层循环
 的最大值,(循环变量从1开始)

这个并不是很重要,主要用于开发思维,给大家简单介绍一下就好!

for(var i=1;i<=5;i++){

for(var j=1;j<=5;j++){

document.write("*")
}
document.write("<br>");

}

5行5列的长方形!!

for(var k=1;k<=5;k++){

for(var l=1;l<=k;l++){

document.write("*")
}

document.write("<br>");
}

三角形

1.函数的声明格式:

function 函数名(参数1,参数2,.......){
//函数体代码
return 返回值;
}
函数的调用:
 ①:直接调用:函数名(参数1的值,参数2的值。。。。。。);
 ②:事件调用方式,在HTML标签中,使用事件名字,等于函数名* <button onclick="saySb('hahaha','yellow')">点击按钮,打印内容</button>

2 函数的注意事项:
 ①:函数名必须要符合小驼峰法则!!(首字母小写,之后每个单词的首字母大写)
 ②:函数名后面的()中可以有参数,也可以没有参数,分别称为有参函数和无参函数:
 ③:声明函数时候的参数列表,称为形参列表,形参函数(变量的名字)
 function saySb(str,color)
 调用函数时候的实数列表,称为实参列表,实参列表(变量的赋值)
 saySb("姜浩真丑!哈哈哈"," red");

④:函数的实参列表个数与形参列表个数没有关系,
 函数的参数个数,取决于实参列表;
 如果参数列表的个数《形参列表,则未赋值的参数,将为Undefined;》*

⑤:函数可以有返回值,使用return返回结果;使用函数时;可以使用一个变量接受函数的返回结果,如果函数的没有返回
 值,则接受的结果为undefined:
 function func(){
 return "haha"
 }
 var num = func(); //num ="haha"
 ⑥:函数中函数的作用域:在函数中,使用var声明的变量为局部变量,只能在函数内部访问,
 不用var声明的变量为全局变量,在函数外面也能访问
 函数的形参列表默认为函数的局部变量,只能在函数内部使用;

⑦:函数的声明跟函数的调用没有先后之分 ,即,可以再声明函数前,调用函数。
 func(); //声明func之前调用也是可以的;
 function func(){}

栗子栗子栗子栗子栗子栗子栗子栗子栗子栗子栗子栗子栗子栗子栗子栗子栗子栗子

输入三个数比较大小,熟悉函数

var a =prompt("输入一个数");
var b =prompt("输入一个数");
var c =prompt("输入一个数");

根据上面的要求先输入三个数
function num(str,str,str){

首先输入function 函数名(参数1,参数2,.......参数没有什么么特殊要求,用a,b,c也行)
if(a>b){
if(a>c){
maxNum=a;
}else{
maxNum=c;}
}else {
if(b>c){
maxNum=b;
}else{
maxNum=c;
}

里面嵌套IF ELSE结构判断大小!!

maxNum=a,亦可以换成return  a;
}
return maxNum;
}

var i=num(a,b,c);
alert(i);

给num声明一个变量,输出开即可!

可以都用return输出!!

var a =prompt("输入一个数")
var b =prompt("输入一个数")
var c =prompt("输入一个数")
function num(str,str,str ){
if(a>b){
if(a>c){
return a;
}else{
return c;}
}else {
if(b>c){
return b;
}else{
return c;
}
}
}
num();
var i =num(a,b,c);

var a = prompt("请输入用户名:");
var b = prompt("请输入用密码:");
function num(a,b){
if(a=="jredu",b==1234){
return "true";
}else{
return "false";
}
}
num();
var i=num(a,b);
alert(i);

多层函数的嵌套:

栗子很多,简单做一个我自己做的

这个题好玩在哪?不输入符号,输入两个数,点击符号进行输出

var num1=parseFloat(prompt("请输入第一个操作数:"));
var num2 = parseFloat(prompt("请输入第二个操作数:"));
function num3(a,b){
alert(num1+num2);
}
function num4(c,d){
alert(num1-num2);
}
function num5(e,f){
alert(num1*num2);
}
function num6(g,h){

alert (num1/num2);
}

<body>

<button onclick="num3(num1,num2)">+</button>
<button onclick="num4(num1,num2)">-</button>
<button onclick="num5(num1,num2)">*</button>
<button onclick="num6(num1,num2)">/</button>
</body>

[匿名函数的声明使用]

1.声明一个匿名函数,直接赋值给某一个事件;
 window.onload = function(){}
 2.使用匿名函数表达式。
 将匿名函数赋值给一个变量。
 声明:var func=function(){}
 调用: func();

3:自执行函数:
 ① !function(){}();//可以使用多种运算符开头,但一般用!
 !function(形参列表){}(实参列表);
 ②(function(){}());//使用()将函数和函数后面的括号包裹* ③ (function(){})()使用()只包裹函数部分!!
 三种写法的特点
①:使用!开头,结构清晰,不容易混乱,推荐使用:
 ②:能够表明匿名函数与调用的()为一个整体。官方推荐使用!
 ③:无法表明函数与之后的()的整体性,不推荐使用

注意:使用匿名函数表达式时,函数的调用语句,必须放在声明语句之后,!!!!!!(与普通函数的区别!!!)

集中写法!

(function(num){
alert(num);
}("xxxx"));

!function(num){
alert(num);
}("历经归250");

[函数的内部属性]

1 。Arguments对象
①:作用:用于储存调用函数的所有实参,
》》》当我们调用函数,并用实参赋值时候。实际上参数列表已经保存到arguments数组中。,
可以再函数中。使用arguments[n]的形式调用。n从0开始
②:arguments数组的个数,取决于实参列表,与形参无关;
一旦第N个位置的形参,实参 arguments都存在时候,形参将于arguments绑定,同步变化,
(即在函数中,修改形参的值,arguments也会改变,反之,亦成立)
③:arguments.callee是arguments的重要指标,表示arguments所在的函数的引用地址
在函数里面。亦可使用arguments.callee()调用函数本身;
在函数内部,调用函数自身的写法,叫做递归
递归分为2部分,递和归 ,以递归调用的语句为界限,可以将函数分为2部分
递:当函数执行上半部分调用自身的语句是,继续投入内层函数,在执行上半部分,直到执行完最内层函数。
归:当最内层函数执行完以后,再从最内层函数开始,逐渐执行函数的下半部分!

当最外层和那个函数执行时,遇到自身的调用语句,会进入内层执行,而外层函数的后半部分暂不执行,
直到最内层函数执行完以后,在逐步向外执行;

先声明2个变量

var num = 1;
var sum = 0;

函数做法,输入函数
function func1(){
sum += num;
num++;

求和,先执行上半部分!如果有递没有归。可以看出没有函数声明,只能输出1,
if(num<=10){
arguments.callee()
}
}

有了归,才能正确输出

声明函数必不可少!
func1();
alert(sum);

求1!+2!。。。10!

var num=1;
var sum=0;
function func1(){
var i=1;
var jie = 1;
!function(){
jie *= i;
i++;
if(i<=num){
arguments.callee();
}
}();
sum += jie;
num++;
if(num<=10){
arguments.callee();

}
}
func1();
alert(sum);

函数嵌套!至于要将里面的运算嵌套在第一个里面即可!

JS基础属性跟运算的更多相关文章

  1. js基础——属性操作

    html属性:属性名——属性值 操作:读 . 写 读操作:用来获取.找到属性名对应的属性值,方法:元素.属性名 例如:var oBtn = document.getElementById('btn1' ...

  2. GSAP JS基础教程--TweenLite操作元素的相关属性

    今天来学习用TweenLite操作元素的各种属性,以Div为例,其他元素的操作也是一样的,只是可能一些元素有它们的特殊属性,就可能不同罢了.   代码里用详细注释,我就不再重复啦,大家看代码就可以啦! ...

  3. 前端JS基础知识

    1. 原型 / 构造函数 / 实例 原型(prototype): 一个简单的对象,用于实现对象的 属性继承.可以简单的理解成对象的爹.在 Firefox 和 Chrome 中,每个JavaScript ...

  4. 前端面试题目汇总摘录(JS 基础篇)

    JS 基础 JavaScript 的 typeof 返回那些数据类型 object number function boolean undefined string typeof null; // o ...

  5. 【2017-03-28】JS基础、DOM操作

    一.JS基础 1.javascript功能 ⑴进行数据运算 ⑵控制浏览器功能 ⑶控制元素的属性.样式.内容 2.javascript位置和格式 可以放在html页的任意位置,也可以创建一个以js结尾的 ...

  6. 前端工程师面试问题归纳(一、问答类html/css/js基础)

    一.参考资源 1.前端面试题及答案整理(一) 2.2017年前端面试题整理汇总100题 3.2018最新Web前端经典面试试题及答案 4.[javascript常见面试题]常见前端面试题及答案 5.W ...

  7. 前端面试题目汇总摘录(JS 基础篇 —— 2018.11.02更新)

    温故而知新,保持空杯心态 JS 基础 JavaScript 的 typeof 返回那些数据类型 object number function boolean undefined string type ...

  8. 【2017-03-28】JS基础、windows对象、history对象、location对象

    一.JS基础 JS - javaScript 1.js功能: 1).进行数据的运算.2).控制浏览器的一些功能.3).控制元素(属性.内容.样式) js引用位置: 可以放在html页的任意位置. 推荐 ...

  9. js基础练习题(1)

    1.字符串 视频教程地址: js基础练习题 1.如何连接两个或者两个以上字符串? var cssname = 'box' var num = 1 var html = '<div class=& ...

随机推荐

  1. oracle默认用户名及密码

    oracle默认用户名及密码(网摘) (1)user:           internal           password   :oracle     (2)user:           s ...

  2. <object>元素+svg 绘制图片

    结果图: 将以下代码保存至sample.svg文件中: <!-- SVG图形一开始生命命名空间 --> <svg xmlns="http://www.w3.org/2000 ...

  3. ActiveMQ结合WebScoket应用例子以及介绍

    一.ActiveMQ的介绍? 1.JMS基础概念 JMS(java Message Service) 即使java消息服务,它提供标准的产生.发送.接收的接口简化企业应用开发,它支持两种消息通信模型: ...

  4. 字典的定义和操作 (Python)

    字典是由key and value 构成,无序结构(不想列表那样有固体位置): note:key 是唯一的,没有重复: 字典可以多级嵌套: 定义: dict1 = { # 由等式构成 dict = { ...

  5. 【转载】 ISO14229系列之二:诊断指令格式和相关概念

    转载链接:http://www.cnblogs.com/autogeek/p/4458658.html 1. 简单的通信机制 其实诊断通信的机制很简单,可以类比client-server通信方式,即客 ...

  6. 读Zepto源码之Callbacks模块

    Callbacks 模块并不是必备的模块,其作用是管理回调函数,为 Defferred 模块提供支持,Defferred 模块又为 Ajax 模块的 promise 风格提供支持,接下来很快就会分析到 ...

  7. Linux基础(八)

    一.shell shell一般代表两个层面的意思,一个是命令解释器,比如BASH,另外一个就是shell脚本.Python也是一种解释语言. 1.   Linux中命令是按照下面的优先级执行的 ==& ...

  8. linux下查看jdk路径

    jdk安装后 centos中: 执行 rpm -ql java-1.7.0-openjdk-devel | grep '/bin/javac' 命令确定, 执行后会输出一个路径,除去路径末尾的 &qu ...

  9. Java设计模式之模板方法设计模式(银行计息案例)

    不知道为什么,这几天对Java中的设计模式非常感兴趣,恰巧呢这几天公司的开发任务还不算太多,趁着有时间昨天又把模板方法模式深入学习了一下,做了一个客户在不同银行计息的小案例,感触颇深,今天给各位分享一 ...

  10. Android学习笔记- ButterKnife 8.0注解使用介绍

    前言: App项目开发大部分时候还是以UI页面为主,这时我们需要调用大量的findViewById以及setOnClickListener等代码,控件的少的时候我们还能接受,控件多起来有时候就会有一种 ...