本文是网易云课堂金旭亮老师的课程笔记,记录下来,以供备忘。

变量类型 

只有6种 : 四种原始数据类型boolean , number, string , undefine, 其他object,function是对象

typeof,instanceof  

直接看实例:

  1. var obj = null;
  2. console.info(typeof obj); //Object
  3. var arr = [];
  4. console.info(arr instanceof Object); //true
  5. console.info(arr instanceof Array); //true
原始数据类型的包装对象(Wapper Object)
              string,number,boolean都对应着特定的包装对象
数据类型转换 
             用parseInt,parsetFolat转换到数值类型
  1. console.log(parseInt("34", 10)); //
  2. console.log(parseInt("34s5b", 10)); //
  3. console.log(parseInt("s", 10)); //NaN
  4. console.log(parseInt(3.14, 10)); //
    javascript是动态类型的编程语言,同一个变量,抓取啥类型的数据就是啥种变量类型
  1. //number
  2. var value = 100;
  3.  
  4. //string
  5. value = "qiu";
  6.  
  7. //object
  8. value = [1, 'two', 3];
"="号的各种花样:
  1. = 赋值
  2. == 判等
  3. === 严格判等
  4. var x = 42;
  5. var y = "42";
  6. console.log(x == y) //true;
  7. console.log(x === y) //false
 
undefined  vs  null
              udefine: 指变量未定义,没有一个有效值   (还没变量,何从谈值)
               null :       nothing , 某变量不引用任何的对象。 null是对象 ,类型object   (有变量,但不引用值)
  1. var obj = null;
  2. if (obj === null) {
  3. alert("obj === null"); //此句将执行
  4. }
  5. else {
  6. alert("obj!=null");
  7. }
  8. alert(typeof obj); //object

undefine与null的 判等

  1. var myVar;
  2. //true
  3. console.log(typeof myVar === "undefined");
  4. console.log(myVar === undefined);
  5.  
  6. var myVar2 = null;
  7. console.log(typeof myVar2); //object
  8. //true;
  9. console.log(myVar2 == null);
  10. console.log(myVar2 === null);
  11.  
  12. //true
  13. console.info(myVar == myVar2); //undefine == null; 是true
  14. //false
  15. console.info(myVar === myVar2); //undefine === null; 是false
 
true and false
                 undefined, null,NaN,"",0
                 除这些值 ,其他值为 true;
 
运算符:!!与 ||
                !!  把后面的表达式转为boolean 值,返回true or false
                !!"qiu"     true
                !!null      false
                 
                || 
                var ns = ns || {}
                如果 ns 未定义 返回 {} , 否则返回ns
 
注:定义变量必须要 var,否则掉坑!不写var就会成全局变量        

JavaScript我学之一变量类型的更多相关文章

  1. javascript中如何判断变量类型

    typeof 只能判断基本类型,如number.string.boolean.当遇上引用类型变量就没那么好用了,结果都是object.使用Object.prototype.toString.call( ...

  2. 在JavaScript中也玩变量类型强行转换

    <script language="javascript">     var str = '100';     var num = Number(100);     a ...

  3. JavaScript基础系列(变量与类型)

    以下内容将JavaScript简称为JS 打开本文时不管你是零基础的初学者还是其他语言的老兵,我都想说程序语言的基础支撑起了整个网络世界,不把这些基础学透之后稍复杂的内容会让你寸步难行. 现在先给编程 ...

  4. JavaScript基础回顾一(类型、值和变量)

    请看代码并思考输出结果 var scope = 'global'; function f(){ console.log(scope); var scope = 'local'; console.log ...

  5. JavaScript使用构造函数获取变量的类型名

    在JavaScript中,如何准确获取变量的类型名是一个经常使用的问题. 但是常常不能获取到变量的精确名称,或者必须使用jQuery 中的方法,这里 我通过 typeof ,jQuery.type 和 ...

  6. javascript 核心语言笔记- 3 - 类型、值和变量

    JavaScript 中的数据类型分为两类:原始类型(primitive type)和对象类型(object type).原始类型包括数字.字符串和布尔值 JavaScript 中有两个特殊的原始值: ...

  7. javascript中对变量类型的推断

    本文正式地址:http://www.xiabingbao.com/javascript/2015/07/04/javascript-type 在JavaScript中,有5种基本数据类型和1种复杂数据 ...

  8. Javascript声明变量类型

    声明变量类型 当您声明新变量时,可以使用关键词 "new" 来声明其类型: var carname=new String; var x= new Number; var y= ne ...

  9. Javascript 判断变量类型的陷阱 与 正确的处理方式

    Javascript 由于各种各样的原因,在判断一个变量的数据类型方面一直存在着一些问题,其中最典型的问题恐怕就是 typeof null 会返回 object 了吧.因此在这里简单的总结一下判断数据 ...

随机推荐

  1. Promise学习笔记

    Promise对象 Promise 表示一个异步操作的最终结果,与之进行交互的方式主要是 then 方法,该方法注册了两个回调函数,用于接收 promise 的终值或本 promise 不能执行的原因 ...

  2. Microsoft Visual Studio Tools for AI

    https://www.visualstudio.com/zh-hans/downloads/ai-tools-vs/ 开发.调试和部署深度学习和 AI 解决方案 Visual Studio Tool ...

  3. 利用zabbix api添加、删除、禁用主机

    python环境配置yum -y install python-pip安装argparse模块pip install -i https://pypi.douban.com/simple/ argpar ...

  4. [CTSC2018]暴力写挂

    题目描述 www.lydsy.com/JudgeOnline/upload/201805/day1(1).pdf 题解 首先来看这个我们要最大化的东西. deep[u]+deep[v]-deep[lc ...

  5. 第六篇--Ubuntu画图软件

    有时图片需要经过处理,下载一个pinta软件 sudo apt-get install pinta 安装后可能不知道位置,没关系,点击图片右键,选择打开软件为pinta就行了.

  6. vue---组件间通信

    vue中比较重要的就是组件了.而组件随处可复用的特性,使得组件通信非常重要.那么组件之间通讯方式有哪些呢? 第一种:父子组件通讯: 如果是 html页面 中全局注册的组件 和 实例中局部注册的组件 H ...

  7. 【最强大的屏幕截图和标注工具】Snagit 2019.1 for Mac

    [简介] 今天和大家分享最新的 Snagit for Mac 2019.1 版本,这是Mac上最好用最强大的屏幕截图工具,Snagit功能非常强大,支持各种方式的屏幕截图,如全屏.滚动.部分.窗口.菜 ...

  8. linux中的find命令常用场景

    1.find   file.txt            在当前目录下,查找file.txt是否存在 2.find . -name file.txt     在当前目录下,递归查找file.txt文件 ...

  9. 剑指Offer_编程题_23

    题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No.假设输入的数组的任意两个数字都互不相同. class Solution { public: ...

  10. 剑指Offer_编程题_21

    题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数. class Solution { public: void push(int value) { st.push(val ...