JS入门(二)
关于运算符:
js中判断运算符跟数学的运算符基本差不多,就是大于>,小于<,大于等于>=,小于等于<=,等于==,不等于!=,全等于===;可以看出来,跟我们印象中的判断运算符最大的区别就是,在js中等于是用两个等号的,因为在js中一个等于号是属于赋值,两个等于号属于判断等号两边的值是否相等,而三个等号则是判断之类型跟数据类型是否都是相等的。而不等于也不像数学中写的用≠表示,二十用一个感叹号加一个等号来表示判断符两边是否不相等。
判断运算符说完了之后,就是算数运算符了,这个也跟我们知道的正常的符号差不多,有加号+;减号-,乘号*;除号/;取余%,也就是取余数;还有括号运算();不过严格的来说,括号主要是用来提升运算优先级的。说实在的,运算中这些都算是很简单的,让人头疼的主要还是自增和自减。在js中自增和自减主要分四类:a++;a--;++a;--a;a++和a--有什么区别呢?a++,参与运算的时候,先用自身的原值参与运算,之后再将自身的值加1,而++a,是先将自身的值加1,而后拿着现在加1后的值,再参与运算。这里突出的是参与运算的时候,也就是说,在不参与运算的时候,这两个运算是没有什么区别的。
再之后,就是逻辑运算符了,在学基础的时候,逻辑运算符算是比较简单的。主要有三个逻辑运算符逻辑或&&;逻辑与||;非!;逻辑或是只有在表达式两边都为true时才为true,而逻辑与则表示只要一个为true则为true,非则是取反的意思,就是!true则为false;
在js中,还有一个三目运算符,它的语法结构为:
条件表达式 ? 表达式成立时返回的数据 : 表达式不成立时返回的数据;
JS中的循环:
if-else结构的循环:
if (条件表达式) {
条件表达式成立的时候执行的代码
} else {
条件表达式不成立的时候执行的代码
}
执行过程:
程序首先运行到if处,先进入小括号中,判断条件是否成立,如果成立,也就是小括号里面返回true,则进入大括号执行里面的代码,如果条件不成立,也就是返回false,则执行else后面大括号里的代码。
if else-if结构的循环
if(判断条件,一般是boolean类型的值或是关系表达式或是逻辑表达式){
要执行的代码;
}else if(判断条件){
要执行的代码;
}else if(判断条件){
要执行的代码;
}...else {
要执行的代码;
}
执行过程:
程序首先运行到if处,先进入小括号中,判断条件是否成立,如果成立,也就是小括号里面返回true,则进入大括号执行里面的代码,如果条件不成立,也就是返回false,则依次的判断下面的else if对应的小括号中的条件是否成立,也就是返回true,如果成立则进入对应的大括号里面执行代码,如果都不成立,也就是返回False,则要看最后有没有else,如果有else,则进入else里面的大括号执行里面的代码,否则退出程序,执行后面的代码。if-else大多是用来做区间的判断情况的。
switch-case结构的循环:
switch(值,一般是一个变量或是计算后的定值){
case 值1:
要执行的代码;
break;
case 值2:
要执行的代码;
break;
case 值3:
要执行的代码;
break;
...
default:
要执行的代码;
break;
}
执行过程:
当程序执行到switch处,先进入小括号,计算里面值,然后拿着这个定值依次和大括号中case里面的值进行匹配,如果匹配成功,则执行对应的case中的代码,遇到break,则跳出当前swicth-case结构,如果匹配都不成功,则要看结构是否有default,如果有,则执行default中的代码,遇到break跳出结构,如果没有default,则直接跳出swicth-case结构,执行后面的代码。多用于多条件的定值判断 。
注意:case中的值的数据类型一定要与switch小括号中的值的数据类型一致。
while结构的循环:
while(循环条件){
循环体(要执行的代码);
}
执行过程:
当程序 运行到while处,首先进入小括号判断循环条件是否成立,如果成立,也就是值为true,则进入大括号执行里面的循环体,执行完毕之后,再次回到小括号中判断 循环条件是否成立,如果成立则再次进入大括号执行里面的循环体,往复循环。只要是循环,肯定会有一行代码能够改变循环条件,如果没有代码改变循环条件,我们称这样的循环叫死循环。
do- while结构的循环:
do{
循环体;
} while(循环条件)
执行过程:
程序执行到do处,先进入大括号执行里面的循环体,然后带着执行结果到达while的小括号,判断里面的循环条件是否成立,如果成立,则再次进入大括号执行里面的循环体,如果不成立,则跳出当前do-while循环。
特点:至少执行一次循环体,然后再判断 循环条件。
for循环:
for(表达式1;表达式2;表达式3){
循环体;
}
执行过程:
程序运行到for处,进入小括号中,先执行表达式1,声明变量,并赋初值,然后执行表达式2,判断循环条件是否成立,如果条件成立,则进入大括号执行里面的循环体,第一次循环的时候,并不执行表达式3,第一次循环执行完毕之后,执行表达式3,改变循环条件,然后再执行表达式2,判断循环条件是否成立,如果成立,则再次执行循环体,如果不成立,则跳出循环。
break跟continue:
break有两种用法,第一种是用在swicth-case 用于跳出当前程序。第二种是用在循环当中,一般是用while或是for循环当中,与if搭配使用,作用就是立即跳出当前循环,后面的代码都不再执行。
continue一般也是用于循环当中,当遇到continue关键字的时候,立马停止本次循环,然后回到循环条件处,判断 循环条件是否成立,如果成立则继续下一次循环,如果不成立,则退出当前循环。continue只结束当前本次循环,continue后面的代码都不再执行。
数组:
数组就是数据的有序列表。存储的是一组数据,这组数据可以是任意类型,而且数组中的元素可以随时的动态添加。
数组有两种声明方式:
var array=new Array();
var arr=[];
既然声明了数组,那肯定要给数组来赋值,数组也有两种赋值方式
1.通过索引来赋值
arr[0] = 123;
2.在声明的同时初始化数组数据
var arr = new Array(1,”123”,true);
赋好值了之后又该怎么把数组中的元素拿出来呢?就可以用前面提到过的for循环来获取数组中的所有元素。
for(var i=0;i<arr.length;i++){
console.log(arr[i]);
}
JS入门(二)的更多相关文章
- node.js入门(二) 模块 事件驱动
模块化结构 node.js 使用了 CommonJS 定义的模块系统.不同的功能组件被划分成不同的模块.应用可以根据自己的需要来选择使用合适的模块.每个模块都会暴露一些公共的方法或属性.模块使用者直接 ...
- 1. web前端开发分享-css,js入门篇
关注前端这么多年,没有大的成就,就入门期间积累了不少技巧与心得,跟大家分享一下,不一定都适合每个人,毕竟人与人的教育背景与成长环境心理活动都有差别,但就别人的心得再结合自己的特点,然后探索适合自己的学 ...
- React.js入门笔记
# React.js入门笔记 核心提示 这是本人学习react.js的第一篇入门笔记,估计也会是该系列涵盖内容最多的笔记,主要内容来自英文官方文档的快速上手部分和阮一峰博客教程.当然,还有我自己尝试的 ...
- Ember.js入门教程、博文汇总
第一章 对象模型 Ember.js 入门指南——类的定义.初始化.继承 Ember.js 入门指南——类的扩展(reopen) Ember.js 入门指南——计算属性(compute properti ...
- web前端开发分享-css,js入门篇(转)
转自:http://www.cnblogs.com/jikey/p/3600308.html 关注前端这么多年,没有大的成就,就入门期间积累了不少技巧与心得,跟大家分享一下,不一定都适合每个人,毕竟人 ...
- 免费的 Vue.js 入门与进阶视频教程
这是我免费发布的高质量超清「Vue.js 入门与进阶视频教程」. 全网最好的.免费的 Vue.js 视频教程,课程基于 Vue.js 2.0,由浅入深,最后结合实际的项目进行了最棒的技术点讲解,此课程 ...
- 2.Python爬虫入门二之爬虫基础了解
1.什么是爬虫 爬虫,即网络爬虫,大家可以理解为在网络上爬行的一直蜘蛛,互联网就比作一张大网,而爬虫便是在这张网上爬来爬去的蜘蛛咯,如果它遇到资源,那么它就会抓取下来.想抓取什么?这个由你来控制它咯. ...
- web前端开发分享-css,js入门篇
学习没有捷径,但学习是有技巧与方法. 一,css入门篇: 推荐书籍:css哪些事儿,精通css. 理由:css那些事儿,他是一本介绍css基础类的书,是入门的经典读物. 系统的介绍了css的选 ...
- Python爬虫入门二之爬虫基础了解
1.什么是爬虫 爬虫,即网络爬虫,大家可以理解为在网络上爬行的一直蜘蛛,互联网就比作一张大网,而爬虫便是在这张网上爬来爬去的蜘蛛咯,如果它遇到资源,那么它就会抓取下来.想抓取什么?这个由你来控制它咯. ...
- 转 Python爬虫入门二之爬虫基础了解
静觅 » Python爬虫入门二之爬虫基础了解 2.浏览网页的过程 在用户浏览网页的过程中,我们可能会看到许多好看的图片,比如 http://image.baidu.com/ ,我们会看到几张的图片以 ...
随机推荐
- Unity跨平台原理
An ahead-of-time (AOT) compiler is a compiler that implements ahead-of-time compilation. This refers ...
- Pomelo的Protobuf
pomelo的protobuf实现,借助了javascript的动态性,使得应用程序可以在运行时解析proto文件,不需要进行proto文件的编译.pomelo的实现中,为了更方便地解析proto文件 ...
- cookie、session、sessionid的区别
我们都知道银行,银行的收柜台每天要接待客户存款/取款业务,可以有几种方案: 1.凭借柜台职员的记忆,由收柜台职员来为每位顾客办理存款/取款业务,单凭职员的记忆力,要记到每位顾客的相貌,并迅速这个顾客当 ...
- aJax请求结果中包含form的问题
jsp页面a.jsp如下: <form action='login' id='formId' method='post'> <input name='user'> </f ...
- node源码详解(七) —— 文件异步io、线程池【互斥锁、条件变量、管道、事件对象】
本作品采用知识共享署名 4.0 国际许可协议进行许可.转载保留声明头部与原文链接https://luzeshu.com/blog/nodesource7 本博客同步在https://cnodejs.o ...
- Oracle RAC学习笔记01-集群理论
Oracle RAC学习笔记01-集群理论 1.集群相关理论概述 2.Oracle Clusterware 3.Oracle RAC 原理 写在前面: 最近一直在看张晓明的大话Oracle RAC,真 ...
- 大大维的游戏机计划3--2048v1
前几天由于忙着过年串门,游戏机的计划搁置了几天.这两天终于空出了一块时间,抽空写了2048. 由于笔者前面自制了一个类似2048的游戏,所以写起来也算是轻车熟路,花了两个晚上也就差不多了. 废话少说, ...
- Hadoop权威指南:HDFS-Hadoop存档
Hadoop权威指南:HDFS-Hadoop存档 [TOC] 每个文件按块方式存储, 每个块的元数据存储在namenode的内存中 Hadoop存档文件或HAR文件是一个更高效的文件存档工具,它将文件 ...
- pwnable.kr-fd-Writeup
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,bi ...
- git命令实战之血泪记录
注意: 本文章所写所有命令均在Git命令行窗口执行!非cmd窗口! 打开git命令行窗口步骤为:到项目根目录下执行bash命令行操作:右键点击Git Bash Here菜单,打开git命令窗口,不是c ...