JS基础属性跟运算
小编这周学了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跟case后面的条件写法很多,这是小编自己总结的两种方法!!!
var year = parseInt(prompt("请输入一个数字:"));
|
【循环结构的执行步骤】
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!! 声明i跟sum变量!!! ()里面声明条件!可以看出跟if结构相似 sum += i;//1//3//6//10//15 打印结果 |
while 先判断在执行
do-while:先执行在判断,即使初始条件不成立,do-while也至少执行一次;
|
var num = 10; 声明num的值等于10; 先执行一轮在进行判断!!输出10,然后进行num--!! 执行完一轮后,进行判断!符合条件继续进行 继续输出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; 从题目可以看出本题求得是如果输入数字=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++){
|
{循环控制语句}
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变量! 同时输入两个变量!i=1,j=100! 我们可以看出最后结果是50+51!所以i<j ;并且i从1开始++,j从100开始--进行求和 if(i<50) 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 a = prompt("请输入用户名:");
|
多层函数的嵌套:
栗子很多,简单做一个我自己做的
|
这个题好玩在哪?不输入符号,输入两个数,点击符号进行输出 var num1=parseFloat(prompt("请输入第一个操作数:")); alert (num1/num2); <body> <button onclick="num3(num1,num2)">+</button> |
[匿名函数的声明使用]
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; 函数做法,输入函数 求和,先执行上半部分!如果有递没有归。可以看出没有函数声明,只能输出1, 有了归,才能正确输出 声明函数必不可少! |
|
求1!+2!。。。10! var num=1; } 函数嵌套!至于要将里面的运算嵌套在第一个里面即可! |
JS基础属性跟运算的更多相关文章
- js基础——属性操作
html属性:属性名——属性值 操作:读 . 写 读操作:用来获取.找到属性名对应的属性值,方法:元素.属性名 例如:var oBtn = document.getElementById('btn1' ...
- GSAP JS基础教程--TweenLite操作元素的相关属性
今天来学习用TweenLite操作元素的各种属性,以Div为例,其他元素的操作也是一样的,只是可能一些元素有它们的特殊属性,就可能不同罢了. 代码里用详细注释,我就不再重复啦,大家看代码就可以啦! ...
- 前端JS基础知识
1. 原型 / 构造函数 / 实例 原型(prototype): 一个简单的对象,用于实现对象的 属性继承.可以简单的理解成对象的爹.在 Firefox 和 Chrome 中,每个JavaScript ...
- 前端面试题目汇总摘录(JS 基础篇)
JS 基础 JavaScript 的 typeof 返回那些数据类型 object number function boolean undefined string typeof null; // o ...
- 【2017-03-28】JS基础、DOM操作
一.JS基础 1.javascript功能 ⑴进行数据运算 ⑵控制浏览器功能 ⑶控制元素的属性.样式.内容 2.javascript位置和格式 可以放在html页的任意位置,也可以创建一个以js结尾的 ...
- 前端工程师面试问题归纳(一、问答类html/css/js基础)
一.参考资源 1.前端面试题及答案整理(一) 2.2017年前端面试题整理汇总100题 3.2018最新Web前端经典面试试题及答案 4.[javascript常见面试题]常见前端面试题及答案 5.W ...
- 前端面试题目汇总摘录(JS 基础篇 —— 2018.11.02更新)
温故而知新,保持空杯心态 JS 基础 JavaScript 的 typeof 返回那些数据类型 object number function boolean undefined string type ...
- 【2017-03-28】JS基础、windows对象、history对象、location对象
一.JS基础 JS - javaScript 1.js功能: 1).进行数据的运算.2).控制浏览器的一些功能.3).控制元素(属性.内容.样式) js引用位置: 可以放在html页的任意位置. 推荐 ...
- js基础练习题(1)
1.字符串 视频教程地址: js基础练习题 1.如何连接两个或者两个以上字符串? var cssname = 'box' var num = 1 var html = '<div class=& ...
随机推荐
- iOS内购(IAP)中的那些坑
公司的公共库原来并没有这部分的代码,以前做内购是用两个比较有名的github上的第三方库.一个叫MKStoreKit,另一个叫IAPManager,我看了一下写的都很辣鸡,使用起来很不方便,而且写的还 ...
- Win Linux 双系统安装指南
双系统安装指南 环境说明 硬件:一块240G NVMe,一块240G SSD,一块2T的HDD. 系统:Linux Mint 18.2,Windows 10 Enterprise Version 17 ...
- 新篇章之我的java学习之路下
昨天写下了人生的第一篇博客,今天接着写我的java学习之路有关开发及框架的学习过程. 想要学好java语言,只学习一些java的基本语法对实际开发中的用处还是不大的,所以我们还要掌握一些有关javaW ...
- 以图像分割为例浅谈支持向量机(SVM)
1. 什么是支持向量机? 在机器学习中,分类问题是一种非常常见也非常重要的问题.常见的分类方法有决策树.聚类方法.贝叶斯分类等等.举一个常见的分类的例子.如下图1所示,在平面直角坐标系中,有一些点 ...
- IBATIS动态SQL(1)
转:IBATIS动态SQL 直接使用JDBC一个非常普遍的问题就是动态SQL.使用参数值.参数本身和数据列都是动态SQL,通常是非常困难的.典型的解决办法就是用上一堆的IF-ELSE条件语句和一连串的 ...
- 【css】盒子模型 之 弹性盒模型
参考: http://caibaojian.com/flexbox-guide.html 待补充啊
- 模拟EF CodeFist 实现自己的ORM
一.什么是ORM 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单来说,ORM 是通过使用描述对象 ...
- vue项目优化之按需加载组件-使用webpack require.ensure
require-ensure和require-amd的区别: require-amd 说明: 同AMD规范的require函数,使用时传递一个模块数组和回调函数,模块都被下载下来且都被执行后才执行回调 ...
- 【原创】07. ajax请求,解决sendRedirect 无效
介绍: 后台基于旧代码用的Filter验证,若 Session过期,则跳转登陆页面 前台框架:EasyUI 问题: 最初后台验证不通过: 1 httpServletResponse.sendRedir ...
- Java基础之数据类型、内存、修饰符、代码块
Java 数据类型 基本数据类型 数值:int.short.long 字符:char 布尔:boolean 引用数据类型 class(类) interface(接口) 数组[] 所占字节数(1 byt ...




