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

变量类型 

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

typeof,instanceof  

直接看实例:

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

undefine与null的 判等

var myVar;
//true
console.log(typeof myVar === "undefined");
console.log(myVar === undefined); var myVar2 = null;
console.log(typeof myVar2); //object
//true;
console.log(myVar2 == null);
console.log(myVar2 === null); //true
console.info(myVar == myVar2); //undefine == null; 是true
//false
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. AngularJS 1.x系列:Node.js安装及npm常用命令(1)

    1. Node.js安装 1.1 Node.js下载 Node.js官网:https://nodejs.org 当前下载版本(含npm):Latest LTS Version: v6.10.3 (in ...

  2. VMware Workstation 10序列号:

    VMware Workstation 10序列号:1Y0LW-4WJ9N-LZ5G9-Z81QP-92PN7

  3. [WC2018]通道——边分治+虚树+树形DP

    题目链接: [WC2018]通道 题目大意:给出三棵n个节点结构不同的树,边有边权,要求找出一个点对(a,b)使三棵树上这两点的路径权值和最大,一条路径权值为路径上所有边的边权和. 我们按照部分分逐个 ...

  4. [SCOI2006] 数字立方体

    题目类型:三维前缀和+同余方程 传送门:>Here< 题意:给出一个立方体,求有多少个子立方体的和为\(k\)的倍数 解题思路 暴力做法:\(O(n^6)\)枚举子立方体 考虑只枚举长和宽 ...

  5. selenium技术博客

    1.java+selenium+详细的api说明和seleniumGrid使用,缺点是代码不够好看. http://www.cnblogs.com/yytesting/p/5714175.html

  6. MessagePack for C#

    MessagePack for C# 快速序列化组件MessagePack介绍   简介 MessagePack for C#(MessagePack-CSharp)是用于C#的极速MessagePa ...

  7. Ubuntu16下Hadoop安装

    1. 安装Ubuntu 2. 新装Ubuntu常用软件安装和系统设置 (1) 安装vim yum install vim (2) 更改hostname为hadoop_master sudo vim / ...

  8. 第十节: 利用SQLServer实现Quartz的持久化和双机热备的集群模式 :

    背景: 默认情况下,Quartz.Net作业是持久化在内存中的,即 quartz.jobStore.type = "Quartz.Simpl.RAMJobStore, Quartz" ...

  9. 给一个Unix域套接字bind一个路径名

    #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <strings.h& ...

  10. 使用Cobbler批量部署Linux和Windows:Windows系统批量安装(三)

    Tutorial: Installing Windows with cobbler (cobbler安装Windows) Windows系统的自动安装需要用到Win PE工具.流程如下: 定制Win ...