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

变量类型 

只有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. 清明培训 清北学堂 DAY2

    今天是钟皓曦老师的讲授~~ 总结了一下今天的内容: 数论!!! 1.整除性 2.质数 定义: 性质:  3.整数分解定理——算数基本定理 证明: 存在性: 设N是最小不满足唯一分解定理的整数 (1)  ...

  2. Vivado2016旧工程IP移动到新工程

    前言 在VIVADO中图形化界面生成IP,在旧工程中使用后,如果想在新的工程中使用这个IP但又不想再次生成一次,则就需要把就旧工程中的IP导入到新工程中. 流程 1.旧工程IP生成的目录如下,IP为C ...

  3. Flask 模型操作

    ORM 简称 ORM, O/RM, O/R Mapping 持久化模型 特征 数据表和编程类的映射 数据类型映射 字段属性映射类的属性和数据类型 关系映射 表于表之间的关系对应到 编程类的关系上 优点 ...

  4. Souvenir Shop 解题报告

    Souvenir Shop 魔幻题目,这谁搞得到啊... 考场上完全sb了写了个线段树合并,想必我是个复杂度分析都没学过的入门级选手 发现这个网格图dag它的出度最多只有2 如果按照先走朝上的一条边进 ...

  5. MySQL安装-windows安装

    windows下安装MySQL 在windows下面安装MySQL 本文以5.7.17为示例 MySQL下载 官网:https://dev.mysql.com/downloads/mysql/ 本次安 ...

  6. CentOS配置防火墙操作实例

    CentOS 配置防火墙操作实例(启.停.开.闭端口): 注:防火墙的基本操作命令: 查询防火墙状态: [root@localhost ~]# service iptables status<回 ...

  7. 使用AForge.NET Framework打开摄像头并截图 C#

    videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice); if (videoDevices.Count == ...

  8. IrisSkin 单独控件样式设置 不使用皮肤样式

    可以设置控件的Tag为this.skinEngine1.DisableTag [DefaultValue()] [Description("If you do not want skin t ...

  9. C# 执行DOS命令和批处理

    在项目开发中,有时候要处理一些文件,比如视频格式的转换,如果用C开发一套算法,再用C#调用,未免得不偿失!有时候调用现有的程序反而更加方便.今天就来说一下C#中如何调用外部程序,执行一些特殊任务. 这 ...

  10. SpringBoot使用消息队列RabbitMQ

    RabbitMQ 即一个消息队列,主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲.消息分发的作用.RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,AMQP,即Advan ...