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 ...
随机推荐
- IOS开发小功能2:二维码扫描界面的设计(横线上下移动)
效果图如上,实现的是一个二维码扫描界面. 下面我贴出线条上下移动的代码,至于二维码的代码是用的第三方库. 首先是整体的结构: 注意下面的库文件一个都不能少,否则会报错. TLTiltHighlight ...
- 使用brew安装软件
使用brew安装软件 brew 又叫Homebrew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件, 只需要一个命令, 非常方便 brew类似ubuntu系统下的apt- ...
- weblogic配置修改java代码后不需要重启热部署方式
我用的是weblogic8.x 在项目的WEB-INFO中创建weblogic.xml --------以下内容复制到weblogic.xml中------------ <!DOCTYPE we ...
- 转:运行yum报错Error: Cannot retrieve metalink for reposit
http://www.netpc.com.cn/593.html 运行yum报错Error: Cannot retrieve metalink for repository: epel. Please ...
- EM算法详解
EM算法详解 1 极大似然估计 假设有如图1的X所示的抽取的n个学生某门课程的成绩,又知学生的成绩符合高斯分布f(x|μ,σ2),求学生的成绩最符合哪种高斯分布,即μ和σ2最优值是什么? 图1 学生成 ...
- 三种工厂模式的分析以及C++实现
三种工厂模式的分析以及C++实现 以下是我自己学习设计模式的思考总结. 简单工厂模式 简单工厂模式是工厂模式中最简单的一种,他可以用比较简单的方式隐藏创建对象的细节,一般只需要告诉工厂类所需要的类型, ...
- JSTL(JSP Standard Tag Library ,JSP标准标签库)
JSTL标签之核心标签 JSTL(JSP Standard Tag Library ,JSP标准标签库)是一个实现 Web应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断.数据管 ...
- mysql数据类型简介
MySQL的数据表类型很多,其中比较重要的是MyISAM,InnoDB这两种. 这两种类型各有优缺点,需要根据实际情况选择适合的,MySQL支持对不同的表设置不同的类型.下面做个对比: MyISAM表 ...
- MFC控件(7):Split Button
VS2008中可以看到MFC有一个叫Split Button的控件,要想看它的效果,瞧下QQ那聊天窗口的"发送", "消息记录"这两个按钮就知道了.实际上就是还 ...
- 关于EL表达式的生效时间(猜想)
通过ajax与服务端异步交互的时候,在服务端将某些变量或对象设置到request等域里,此时页面上的EL表达式是获取不到ajax异步交互时设置在request等域里的变量或对像的. 我猜测可能EL表达 ...