变量

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(二)---- 变量、数据类型和运算符的更多相关文章

  1. Java历程-初学篇 Day02变量,数据类型和运算符

    一,数据类型 1,基础数据类型 整型 byte short int long 浮点型 float double 字符型 char 布尔类型 boolean 2,引用类型 String 字符串型 二,变 ...

  2. Java 第二章 变量、数据类型和运算符

    第二章      变量.数据类型和运算符 什么是变量: 变量代表一块内存区域,变量类型不一样,这一块内存的大小也不一样. #在编程语言里面,你可以通过定义变量,向内存里添加数据或者修改内存已有的数据. ...

  3. IOS开发新手教程(一)-数据类型和运算符

    OC语法入门(一) 数据类型和运算符 1.1凝视 凝视和其它语言一样,同意单行 ,多行凝视,一份规范的代码里面须要有一些正式的凝视,例如以下凝视: /* 这是多行 凝视 */ //这是多行凝视 OC语 ...

  4. Javascript学习2 - Javascript中的表达式和运算符

    原文:Javascript学习2 - Javascript中的表达式和运算符 Javascript中的运算符与C/C++中的运算符相似,但有几处不同的地方,相对于C/C++,也增加了几个不同的运算符, ...

  5. 从头开始学JavaScript (二)——变量及其作用域

    原文:从头开始学JavaScript (二)--变量及其作用域 一.变量 ECMAscript变量是松散型变量,所谓松散型变量,就是变量名称可以保存任何类型的数据,每个变量仅仅是一个用于保存值的占位符 ...

  6. 一:c语言(数据类型和运算符)

    #include <stdio.h> /*就是一条预处理命令,它的作用是通知C语言编译系统在对C程序进行正式编译之前需做一些预处理工作.*/ int main() /*C程序就是执行主函数 ...

  7. 初识java之变量、数据类型和运算符(一)

    博友目标: 1.掌握变量的概念 2.引子----会使用常用数据类型 众所周知,每台电脑都有一个内存这么个必不可少的元素,那么到底内存到底是用来干什么的呢?其实啊,计算机内存相当于人类的大脑,计算机在处 ...

  8. 对Java的数据类型和运算符的理解

    我知道千里之行始于足下,包含着对编程的兴趣,希望能够在这个平台上记录下我学习过程中的点点滴滴! Java的基本构造 标识符和关键字 标识符规则 标识符就是用于给程序中变量,类.方法命名的符号 1.标识 ...

  9. JavaScript判断变量数据类型

    一.JS中的数据类型 1.数值型(Number):包括整数.浮点数. 2.布尔型(Boolean) 3.字符串型(String) 4.对象(Object) 5.数组(Array) 6.空值(Null) ...

随机推荐

  1. C# WebApi传参之Post请求-AJAX

    最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷.  学无止境,精益求精    上一节讲述了C# WebApi传参之Get请求 ...

  2. Web App时代的缓存机制新思路

    Web App常见架构 以WebQQ例,WebQQ这个站点的所有内容都是一个页面里面呈现的,我们看到的类似windows操作系统的框架,是它的顶级容器和框架,由AlloyOS的内核负责统筹和管理,然后 ...

  3. matlab:对一个向量进行排序,返回每一个数据的rank 序号 。。。

    %% Rank the entropy_loss     % for iiii = 1:size(Group_age, 1)  %     count_1 = 0 ;%     tmp = Group ...

  4. WPF 使用WinForm Chart控件

    第一步:  页面 首先引用命名空间 xmlns:wfi="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFor ...

  5. PHP大小写问题

    PHP对于系统函数.用户自定义函数.类名称等是不区分大小写的如可以用EHCO也可以用echo调用显示函数, 但对于变量名称又是区分大小写的,如$Name和$NAME是2个不同的变量. 而对于文件名又因 ...

  6. JAVA课程设计--简易计算器(201521123022 黄俊麟)

    1.团队课程设计博客链接 http://www.cnblogs.com/I-love-java/p/7058752.html 2.个人负责模板或任务说明 1.初始化业务逻辑. 2.开方.正负.清零.退 ...

  7. 安装vue-cli时出现的错误,cmd 卡住

    今天在构建vue 时遇到个问题, cmd 执行 vue init webpack my-project 时 , 出现如下乱码, 然后 页面 卡住在 项目说明 ,操作不了, 最后发现是 nodejs 版 ...

  8. 键值编码KVC

    动态设置:setValue:属性值 forKey:属性名用于简单路径:setValue:属性值 forKeyPath:属性路径用于复合路径,例如Person有一个Account类型的属性,那么pers ...

  9. 使用Python中的mock模块进行单元测试

    在进行单元测试的时候,有时候会遇到这种情况: 出于某些原因,我们不想测试某一部分内容,但是我们想要测试的部分却依赖这部分内容. 这时候,可以使用mock模块来模拟调用这部分内容,并给出返回结果,举例如 ...

  10. BZOJ_1367_[Baltic2004]sequence_结论题+可并堆

    BZOJ_1367_[Baltic2004]sequence_结论题+可并堆 Description Input Output 一个整数R Sample Input 7 9 4 8 20 14 15 ...