1、值类型(基本类型)

  number(数字) NaN 不等于任何值,包括自身

  string(字符串)

  boolean(布尔)

  undefined

  特点:每个变量都能存储各自的值,不会相互影响

2、引用类型(对象类型)

  Array(数组)

  Function(函数)

  Object(对象)

  特点:通过指针指向对象,会相互影响,共用内存空间,节省内存空间

3、null 特殊的类型,可以理解为空的对象指针

typeof

  可判断基本类型的数据类型,遇到引用类型时,只能判断Function数据类型,比较特殊的是判断null时显示Object类型。

instanceof

  利用原型继承机制判断引用类型的数据类型  

var arr = [1, 2, 3];
arr instanceof Array; //true  判断对象 arr 的属性是否出现在 Array 的原型链上

类型转换

  1、字符串拼接

    把一个数字类型转换成字符时,可以+''(加上一个空字符串)。  var n = 3 + '';  // '3'

    把一个字符串类型的数字转换成数字类型时,可以-0(减零);  var n = '3' - 0;  // 3

  2、==运算符、if语句、逻辑运算

    null、undefined、零、NaN、空字符串转化为false,其他的都是true

    在if语句中判断一个变量会被当作true还是false,可直接在变量前加!!(双非)。 if(!!n){...}

何时使用==,何时使用===

1、当需要判断一个对象属性是否存在时

if(obj.a == null){//这里相当于obj.a === null || obj.a === undefined 的简写形式//这也是jQuery 源码中的推荐写法
}

2、在一个函数里面判断一个参数时候存在时

function(a,b){if(a == null){...}
}

 

转载于:https://www.cnblogs.com/joffe/p/7663966.html

Javascript 之 变量相关推荐

  1. 深入理解JavaScript的变量作用域

    在学习JavaScript的变量作用域之前,我们应当明确几点: a.JavaScript的变量作用域是基于其特有的作用域链的. b.JavaScript没有块级作用域. c.函数中声明的变量在整个函数 ...

  2. javascript的变量

    1.javascript的变量是无类型的(untype). 2.用var声明的变量是永久性的.所以当你试图用delete来删除其声明的变量时会报错. 3.当试图读取一个未声明的变量时,会报错. 4.当 ...

  3. JavaScript的变量作用域深入理解(转)

    在学习JavaScript的变量作用域之前,我们应当明确几点:  a.JavaScript的变量作用域是基于其特有的作用域链的.  b.JavaScript没有块级作用域.  c.函数中声明的变量在整 ...

  4. (转)用ASP.NET向Javascript传递变量 方法1:

    (转)用ASP.NET向Javascript传递变量 方法1: 用一个隐藏控件,把变量的值给隐藏控件,再用Javascript去找隐藏控件的值 window.document.getElementBy ...

  5. 深入理解JavaScript的变量作用域(转)

    在学习JavaScript的变量作用域之前,我们应当明确几点: a.JavaScript的变量作用域是基于其特有的作用域链的. b.JavaScript没有块级作用域. c.函数中声明的变量在整个函数 ...

  6. Javascript的变量作用域居然可以跨越多个函数!

    今天,编写一个JavaScript的代码,是这样子的: function a(){ ... for(i=0;i<abc.length;i++){ ... b(); ... } ... } fun ...

  7. JavaScript通过变量设置对象键[重复]

    本文翻译自:JavaScript set object key by variable [duplicate] This question already has answers here : 这个问 ...

  8. JavaScript:变量提升作用域

    作用域是JavaScript中听上去感觉很简单,其实比较麻烦的一个特性,什么是作用域?我看书籍有一个相对的官方解释:作用域(scope,或译有效范围)就是变量和函数的可访问范围,即作用域控制着变量和函 ...

  9. JavaScript中变量判断是否是数字,判断是否是整数,判断是否是正整数/负整数,判断奇数/偶数的方法

    (1)判断是否是整数  JavaScript中变量判断是否是数字,判断是否是整数,判断是否是正整数/负整数,判断奇数/偶数的方法. (1)判断是否是整数 // 判断整数function isInteg ...

  10. 深圳软件测试培训:JavaScript中变量和作用域

    深圳软件测试培训:JavaScript中变量和作用域 JavaScript的变量与其他语言的变量有很大区别.JavaScript变量不是强制类型的,决定了它只是在特定时间用于保存特定值的一个名字而已. ...

最新文章

  1. java为啥要捕捉异常_java – 为什么在捕获时使用IOexception而不是Exception?
  2. tcp为什么比udp慢_TCP和UDP那些事儿
  3. java找出一组数据缺少最小数组_Java获取一维数组的最小值实现方法
  4. 如何获取元素与当前可视区域顶部的距离
  5. linux如何安装ut880驱动下载,UT-8801 UT - 下载 - 搜珍网
  6. mysql 中文字段名_MySQL全文索引怎么做?| 教程分享
  7. PHP使用Pear发送邮件-Windows环境
  8. 首个教育部印发的人工智能行动计划出炉:规划三步走,大学有三任务
  9. [CLR via C#]18. Attribute
  10. netsh winsock reset命令,作用是重置 Winsock 目录
  11. python截取视频图像_python视频按帧截取图片工具
  12. 未来教育计算机二级学生文档,未来教育计算机二级MS-office题库(解题步骤)题库.docx...
  13. “大数据杀熟”将被明令禁止:亚马逊才是大数据杀熟算法的鼻祖
  14. 【MM 容差】采购订单中的容差
  15. gentoo问题汇总
  16. ora2pg 导出Oracle数据
  17. b2c项目基础架构分析(二)前端框架 以及补漏的第一篇名词解释
  18. 索骥馆-DIY操作系统之《30天自制操作系统》扫描版[PDF]
  19. python计算密集型提速_利用Cython加速计算密集型python任务
  20. php 炒粉,市委书记在夜排档吃炒粉,一定是摆拍?

热门文章

  1. NAS+CNN+Transformer=ViT-Res!MIT团队重磅开源ViT-Res,精度高于DeiT-Ti8.6%
  2. 虎牙AI基础技术部招聘深度学习/计算机视觉实习生
  3. 深圳 | 鹏程实验室研究员招收访问学生
  4. CVPR 2019 | 旷视提出极轻量级年龄估计模型C3AE
  5. 「实践出真知」如何打造一流的视觉AI技术
  6. Python中的reshape()
  7. 今年后,再见Excel,你好python
  8. CVPR2019| ADCrowdNet: 用于人群理解的可变形卷积网络
  9. 深度学习(三十三)CRF as RNN语义分割-未完待续
  10. 单用户修改root密码--redhat7.2 or centos7