JavaScript进阶(一)
OK接下来,我们再次梳理一遍js并且提高一个等级。
众所周知,web前端开发者需要了解html和css,会只用html和css创建一个漂亮的页
面,但是这肯定是不够的,因为它只是一个静态的页面,我们还需要用JavaScript
增加它的行为,为网页添加动态效果。
首先,JavaScript能做什么?
1.增强页面动态效果(如:下拉菜单,图片轮播,信息滚动等)
2.实现页面与用户之间的实时,动态交互(如:用户注册,登录验证等)
JavaScript进阶篇章能学习到什么呢?
在JavaScript入门篇中,学了如何插入js,输出内容以及简单的dom操作,JavaScript
进阶能让我们进一步了解js的变量,数组,函数,语法,对象,事件,dom操作,制作
简单的网页动态效果。
首先,什么是变量?从字面上看,变量是可以变的量。从编程角度来看,变量是用
于存储某种/某些数值的存储器。我们可以把变量看做一个盒子,盒子用来存放物品
物品可以是衣服,玩具,水果...等。
然后为了区分这些盒子,可以用box1,box2等名称来代表不同的盒子,box1就是盒
子的名字(也是变量的名字)
我们给变量取名字的时候可以任意取,但是要遵循一些规范:
1.必须以字母,下划线或者美元符号开头,后面可以跟字母,下划线,美元符号或
数字。
如下:
正确:mysum _mychar $numal
错误:6num//开头不能是数字 %sum//开头不能用除了$或_以外的特殊符号
sum+num//开头中间不能用除了$或_以外特殊符号
2.变量名区分大小写,如A与a就是两个不同的变量
3.不允许使用JavaScript关键字或者保留字作为变量名
关键字
break else new var
case finally return void
catch for switch while
default if throw
delete in try
do instanceof typeof
保留字
abstract enum int short
boolean export interface static
byte extends long super
char final native synchronized
class float package throws
const goto private transient
debugger mplements protected volatile
double import public
我们是要用盒子装东西的,是不是先要找到盒子,那么在编程中,这个过程叫声明
变量,找盒子的动作,如何表示:
声明变量语法:var 变量名;
var就相当于找盒子的动作,在JavaScript中是关键字(即保留字),这个关键字
的作用是声明变量,并为“变量”准备位置(即内存)。
var mynum;//声明一个变量mynum
当然,我们可以一次找一个盒子,也可以一次找多个盒子,所以var还可以一次声明
多个变量,变量之间用","逗号隔开。
var num1,num2;
注意:变量也可以不声明,直接使用,但是为了规范,需要先声明,后使用。
我们把变量看做一个盒子,盒子用来存放物品,那如何在变量中存储内容呢?
我们使用“=”等号给变量存储内容,如:
var mynum=5;//声明变量mynum并赋值
这个语句怎么读呢?给变量mynum赋值,值为5.我们也可以这样写:
var mynum;//声明变量mynum
mynum=5;//给变量mynum赋值
注意:这里的“=”等号的作用是给变量赋值,不是等于号。
盒子可以装衣服,玩具,水果等等。其实,变量是无所不能的容器,你可以把任何
东西存储在变量里,如:数值,字符串,布尔值等。如:
var num1=123;//123是数值
var num2="一二三";//"一二三"是字符串
var num3=true;//布尔值true(真),false(假)
其中num1变量存储的内容是数值;num2变量存储的内容是字符串,字符串需要一对
引号""括起来,nume3变量存储的内容是布尔值(true,false)。
然后提到表达式。表达式与数学中的定义相似,表达式是指具有一定的值、用操作
符把常数和变量连接起来的代数式。一个表达式可以包含常数或变量。如:
num=num+1;
num就是变量,=是赋值,num+1就是表达式
操作符是用于在JavaScript中指定一定动作的符号。
(1)操作符
看下面这段代码:
sum=numa+numb;
其中"="和"+"都是操作符。
JavaScript中还有很多这样的操作符,例如,算数操作符,比较操作符,逻辑操作符
注意,注意,再注意!!!"="操作符是赋值,不是等于!
(2)"+"操作符
算术运算符主要用来完成类似加减乘除的工作,在JavaScript中,"+"不只代表加法,
还可以连接两个字符串,如:
mystring="Java"+"Script";//mystring的值"JavaScript"这个字符串
算术操作符除了加减乘除外,还有两个非常有用的操作符,自加一"++";自减一"--"
首先来看一个例子:
mynum=10;
mynum++;//mynum的值变成了11
mynum--;//mynum的值又变回了10
上面的例子中,mynum++使mynum值在原基础上增加1,mynum--使mynum在原基础上
减去1,其实也可以写成:
mynum=mynum+1;//等同于mynum++
mynum=mynum-1;//等同于mynum--
然后说到比较操作符。
我们先说道数学题,小明考试考了90分,小红考了95分,问谁的分数高?
答:因为95>90 所以小红考试成绩高
其中大于号>就是比较操作符。小红考试成绩和小明考试成绩就是操作数,并且是
两个操作数。
也就是说两个操作数通过比较操作符进行比较,得到值为真(true)和假(false)
在JavaScript中,这样的比较操作符有很多,这些操作符的含义如下:
操作符 描述
< 小于
> 大于
<= 小于或等于
>= 大于或等于
== 等于
!= 不等于
看看下面例子:
var a=5;//定义a变量,赋值为5
var b=9;//定义b变量,赋值为9
document.write(a<b);//a小于b的值吗?结果是真(true)
document.write(a>=b);//a大于或等于b的值吗?结果是假(false)
document.write(a!=b);//a不等于b的值吗?结果是真(true)
document.write(a==b);//a等于b的值吗?结果是假(false)
ps:暂时有点事情,如果晚上有空闲的话,会继续更新的。
|
JavaScript进阶(一)的更多相关文章
- #笔记#JavaScript进阶篇一
#JavaScript进阶篇 http://www.imooc.com/learn/10 #认识DOM #window对象 浏览器窗口可视区域监测—— 在不同浏览器(PC)都实用的 JavaScrip ...
- 4、JavaScript进阶篇①——基础语法
一.认识JS 你知道吗,Web前端开发师需要掌握什么技术?也许你已经了解HTML标记(也称为结构),知道了CSS样式(也称为表示),会使用HTML+CSS创建一个漂亮的页面,但这还不够,它只是静态页面 ...
- JavaScript 进阶(一)JS的"多线程"
这个系列的文章名为“JavaScript 进阶”,内容涉及JS中容易忽略但是很有用的,偏JS底层的,以及复杂项目中的JS的实践.主要来源于我几年的开发过程中遇到的问题.小弟第一次写博客,写的不好的地方 ...
- Javascript 进阶 面向对象编程 继承的一个样例
Javascript的难点就是面向对象编程,上一篇介绍了Javascript的两种继承方式:Javascript 进阶 继承.这篇使用一个样例来展示js怎样面向对象编程.以及怎样基于类实现继承. 1. ...
- JavaScript进阶(九)JS实现本地文件上传至阿里云服务器
JS实现本地文件上传至阿里云服务器 前言 在前面的博客< JavaScript进阶(八)JS实现图片预览并导入服务器功能>(点击查看详情)中,实现了JS将本地图片文件预览并上传至阿里云服务 ...
- JavaScript进阶(十一)JsJava2.0版本
JavaScript进阶(十一)JsJava2.0版本 2007年9月11日,JsJava团队发布了JsJava2.0版本,该版本不仅增加了许多新的类库,而且参照J2SE1.4,大量使用了类的继承和实 ...
- Javascript 进阶 面向对象编程 继承的一个例子
Javascript的难点就是面向对象编程,上一篇介绍了Javascript的两种继承方式:Javascript 进阶 继承,这篇使用一个例子来展示js如何面向对象编程,以及如何基于类实现继承. 1. ...
- javascript进阶笔记(2)
js是一门函数式语言,因为js的强大威力依赖于是否将其作为函数式语言进行使用.在js中,我们通常要大量使用函数式编程风格.函数式编程专注于:少而精.通常无副作用.将函数作为程序代码的基础构件块. 在函 ...
- JavaScript进阶系列07,鼠标事件
鼠标事件有Keydown, Keyup, Keypress,但Keypress与Keydown和Keyup不同,如果按ctrl, shift, caps lock......等修饰键,不会触发Keyp ...
随机推荐
- JS核心概念
Javascript本质第一篇:核心概念 很多人在使用Javascript之前都至少使用过C++.C#或Java,面向对象的编程思想已经根深蒂固,恰好Javascript在语法上借鉴了Java,虽 ...
- 新浪微博SDK在Eclipse引入
新浪微博SDK在Eclipse中的使用 新浪微博SDK在Eclipse中的使用 今天在看<Android开发应用实战>,全书都在讲一个android版的新浪微博客户端怎么做,于是按照书上步 ...
- 尽量不用char*作为hash_map的key
引子: 同事前几天用hash_map时发现一些问题.当时的场景是有一些字符串char*,要去对应某种类型的对象.同事的做法是: 尝试用char*作为key进行hash.编译通过,但运行时不正常,ins ...
- 鸟哥的LINUX私房菜基础篇第三版 阅读笔记 四 档案的文件系统的压缩和打包
1.压缩文件案的用途与技术 a.用途,简单来说,就是节约磁盘空间.如果从传输角度讲,占用宽带也会小很多(Apache就有自动压缩的功能,节省宽带资源,提升网站的输出能力) b.压缩技术 ...
- JavaScript判断对象的类型
JavaScript判断对象的类型 最近阅读了一些关于JavaScript判断对象类型的文章.总结下来,主要有constructor属性.typeof操作符.instanceof操作符和Object. ...
- JS左侧菜单-04
<script language="javascript" type="text/javascript"> function HideShow() ...
- squid和varnish的小结
squid和varnish的小结 http://blog.haohtml.com/ 上周初步接触linux下的这2个反向缓存软件,都实验了一下,貌似squid还是比较顺利的,varnish则碰 ...
- hdu4474 Yet Another Multiple Problem
Yet Another Multiple Problem Description There are tons of problems about integer multiples. Despite ...
- wireshark查看sip协议流
选择中你要查看的sip消息-----右键--follow udp stream,就可以查看出消息流的整个流程.
- 【Zookeeper】源码之序列化
一.前言 在完成了前面的理论学习后,现在可以从源码角度来解析Zookeeper的细节,首先笔者想从序列化入手,因为在网络通信.数据存储中都用到了序列化,下面开始分析. 二.序列化 序列化主要在zook ...