JavaScript(二)---- 变量、数据类型和运算符
变量
javaScript中的变量变量是弱类型的,用var来声明。
javascript的变量声明格式:
var 变量名 = 数据;
声明变量要注意的事项:
1. 在javascript中声明变量是 使用var关键字声明的,javascript中的变量可以存储任意的数据类型数据。
2. javascript中变量数据类型是根据存储的值决定的,可以随时更改存储数据的类型。
3. 定义了多个同名的变量是,后定义的同名变量是覆盖前面定义的同名变量。
4. 声明变量的时候可以省略var关键字,但是不建议省略。
数据类型
ECMASCRIPT 中有4种基本数据类型:Undefined, Boolean,Number和String。
关键字typeof可以获取一个变量的类型。
代码示例:
<script type="text/javascript">
document.write(typeof 1+"<br />"); //number
document.write(typeof 1.0+"<br />"); //number
document.write(typeof 'a'+"<br />"); //string
document.write(typeof "abc"+"<br />"); //string
document.write(typeof true+"<br />"); //boolean
document.write(typeof num+"<br />"); //undefined
</script>
注意:undefined代表该变量没有定义。
字符串转换成数字
ECMAScript 提供了两种把非数字的原始值转换成数字的方法,
即 parseInt() 和 parseFloat()。只有对 String 类型调用这些方法,它们才能正确运行;对其他类型返回的都是 NaN。
NaN:not a number 不是一个数字。
parseInt() 方法首先查看位置 0 处的字符,判断它是否是个有效数字;如果不是,该方法将返回 NaN,不再继续执行其他操作。但如果该字符是有效数字,该方法将查看位置 1 处的字符,进行同样的测试。这一过程将持续到发现非有效数字的字符为止,此时 parseInt() 将把该字符之前的字符串转换成数字。
parseFloat()和parseInt()的检测方法一致,但是parseFloat()如果转化的字符串为整数字符串则返回整数。
javascript提供一个IsNaN的方法来判断该字符串是否是 一个数字。不是一个数字返回true,是一个数字返回false。
代码如下
<script type="text/javascript">
//parseInt()
document.write(parseInt(true)+"<br />"); //NaN
document.write(parseInt("0123")+"<br />"); //
document.write(parseInt("a123")+"<br />"); //NaN
document.write(parseInt("0x123")+"<br />"); //
document.write(parseInt("123a")+"<br />"); //
//parseFloat()
document.write(parseFloat("123")+"<br />"); //
document.write(parseFloat("123.1")+"<br />"); //123.1
document.write(parseFloat("a123.0")+"<br />"); //NaN
document.write(parseFloat("123.0a")+"<br />"); //
document.write(parseFloat("123.0")+"<br />"); //
//isNaN 是数字返回false 不是数字返回true
document.write(isNaN("123.0")+"<br />"); //false
document.write(isNaN("a123.0")+"<br />"); //true
</script>
运算符
1、算数运算符
+、-、*、/、%
+法运算符的特殊之处:
可以进行数值之间的加减,也可以作为字符串的连接符。但是作为加法运算符的时候,任何一个数和NaN相加,结果都说NaN。
2、比较运算符
>、<、<=、>=、!=
注意:比较运算符不只能比较数值,还能比较字符串。字符串和数字之间进行比较时,js会先把字符串转化为数字再进行比较。
字符串与字符串的比较规则是:
情况1: 能找到对应位置上的不同字符,那么就比较第一个不同字符的大小。
情况2: 不能找到对应位置上的不同字符,这时候比较的是两个字符串的长度。
3、逻辑运算符
&& 与
|| 或
! 非
4、三目运算符
表达式?真值:假值
例如:var iMax = (iNum1 > iNum2) ? iNum1 : iNum2;
5、复合运算符
简单的赋值运算符由等号(=)实现,只是把等号右边的值赋予等号左边的变量。
乘法/赋值(*=)
除法/赋值(/=)
取模/赋值(%=)
加法/赋值(+=)
减法/赋值(-=)
JavaScript(二)---- 变量、数据类型和运算符的更多相关文章
- Java1变量数据类型和运算符
day02_变量数据类型和运算符 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 public class jh_01_数据类型说明 { public ...
- Java历程-初学篇 Day02变量,数据类型和运算符
一,数据类型 1,基础数据类型 整型 byte short int long 浮点型 float double 字符型 char 布尔类型 boolean 2,引用类型 String 字符串型 二,变 ...
- JavaSE-02 变量 数据类型和运算符
学习要点 掌握变量的概念 掌握常用数据类型 掌握赋值运算符.算术运算符 掌握boolean数据类型和关系运算符 掌握变量的概念 面向过程程序的定义 程序的定义:程序=数据+算法+文档 程序要操作的数据 ...
- java2变量数据类型和运算符
public class jh_11_加加减减运算符 { public static void main(String[] args) { int a = 5,b =2 ; a ++;// 对自身 ...
- 使用 JavaScript 中的变量、数据类型和运算符,计算出两个 number 类型的变量与一个 string 类型的变量的和,根据 string 类型处于运算符的不同位置得到不同的结果
查看本章节 查看作业目录 需求说明: 使用 JavaScript 中的变量.数据类型和运算符,计算出两个 number 类型的变量与一个 string 类型的变量的和,根据 string 类型处于运算 ...
- Java 第二章 变量、数据类型和运算符
第二章 变量.数据类型和运算符 什么是变量: 变量代表一块内存区域,变量类型不一样,这一块内存的大小也不一样. #在编程语言里面,你可以通过定义变量,向内存里添加数据或者修改内存已有的数据. ...
- Java中的变量,数据类型和运算符
变量,数据类型和运算符 1.变量是一个数据存储空间的表示,它是储存数据的基本单元. 如何理解这句话,下面用一个表格可以形象的表达: 变量与房间之间的对应关系 房间名称 变量名 房间类型 变量类型 入住 ...
- IOS开发新手教程(一)-数据类型和运算符
OC语法入门(一) 数据类型和运算符 1.1凝视 凝视和其它语言一样,同意单行 ,多行凝视,一份规范的代码里面须要有一些正式的凝视,例如以下凝视: /* 这是多行 凝视 */ //这是多行凝视 OC语 ...
- Javascript学习2 - Javascript中的表达式和运算符
原文:Javascript学习2 - Javascript中的表达式和运算符 Javascript中的运算符与C/C++中的运算符相似,但有几处不同的地方,相对于C/C++,也增加了几个不同的运算符, ...
随机推荐
- ListView控件的Insert、Edit和Delete功能(第一部分)
摘自:http://blog.ashchan.com/archive/2007/08/28/listview-control-insert-edit-amp-delete-part-1aspx/ Li ...
- Android中图片占用内存的计算
Android中图片占用内存的计算 原文链接 http://blog.sina.com.cn/s/blog_4e60b09d01016133.html 在Android开发中,我现在发现很多人还不 ...
- 转载 Deep learning:三(Multivariance Linear Regression练习)
前言: 本文主要是来练习多变量线性回归问题(其实本文也就3个变量),参考资料见网页:http://openclassroom.stanford.edu/MainFolder/DocumentPage. ...
- java.lang.ClassNotFoundException: org.apache.lucene.store.Directory
看下你的lucene-core.jar有没有在WEB-INF\lib下.
- UVALive 2035 The Monocycle(BFS状态处理+优先队列)
这道题目真是非常坎坷啊,WA了很多次,但所有的思路都是奔着广搜去想的,一开始出现了比答案大的数据,才想到了应该是优先队列,再说加上也肯定不会错.一开始我读错了题意,以为旋转并且前行需要的时间跟其他一样 ...
- static加载问题
原文地址:http://blog.csdn.net/lubiaopan/article/details/4802430 感谢原作者! static{}(即static块),会在类被加载的时候执 ...
- 利用Hierarchy Viewer优化布局
好久没更新博客了,趁着清明来写点什么. 今天来讲下如何使用android中提供的工具优化我们的布局.首先我们写一个最简单的框架布局. <?xml version="1.0" ...
- loadrunner多负载机联合产生负载
解说一: 多机联合产生负载 LOADRUNNER 对应用程序施压时,采用的方法就是让一台机器模拟很多用户,同时向被 测用户发送请求或进行操作.这样,如果一台测试机器模拟的虚拟用户数过多,他本身性能的下 ...
- HDU 5889 (最短路+网络流)
Barricade Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total S ...
- PVST+(每个VLAN 的生成树PVST 加)
PVST+(每个VLAN 的生成树PVST 加) 实验拓扑: 分别在 SW1 和SW2 上show spanning-tree 查看结果: SW1#show spanning-tree VLAN000 ...