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

变量类型 

只有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. springboot jpa 复合主键

    https://blog.csdn.net/wyc_cs/article/details/9031991 创建一个复合主键类 public class LevelPostMultiKeysClass ...

  2. IIS部署ASP.Net Core 502.5错误和解决

    在Win7的机器上部署ASP.Net Core程序,老是提示502.5错误. 已经安装了 Microsoft Visual C++ 2015 Redistributable .NET Core Win ...

  3. WebViewClient 与 WebChromeClient

    WebViewClient帮助WebView处理各种通知和请求事件的,我们可以称他为WebView的“内政大臣”.常用的shouldOverrideUrlLoading就是该类的一个方法,比如: on ...

  4. @RequestParam、@RequestBody和@ModelAttribute区别

    一.@RequestParamGET和POST请求传的参数会自动转换赋值到@RequestParam 所注解的变量上1. @RequestParam(org.springframework.web.b ...

  5. 求一个数组中重复数字的个数,要求复杂度为O(n)

    给出代码 #include <stdio.h> #include <unistd.h> #include <iostream> #include <memor ...

  6. Entity Framework入门教程(12)--- EF进行批量添加/删除

    EF6添加了批量添加/删除实体集合的方法,我们可以使用DbSet.AddRange()方法将实体集合添加到上下文,同时实体集合中的每一个实体的状态都标记为Added,在执行SaveChange()方法 ...

  7. C#设计模式(16)——中介者模式

    1.中介者模式介绍 中介者模式,定义了一个中介对象来封装一系列对象之间的交互关系,中介者使各个对象之间不需要显式地相互引用,从而降低耦合性.在开发中我们会遇到各个对象相互引用的情况,每个对象都可以和多 ...

  8. nodejs和npm的关系【转】

    node.js是javascript的一种运行环境,是对Google V8引擎进行的封装.是一个服务器端的javascript的解释器. 包含关系: nodejs中含有npm,比如说你安装好nodej ...

  9. 第十一节:Bundles压缩合并js和css及原理分析

    一. 简介 1.背景:浏览器默认一次性请求的网络数是有上限的,如果你得js和css文件太多,就会导致浏览器需要多次加载,影响页面的加载速度, MVC中提供Bundles的方式压缩合并js和css,是M ...

  10. 第六节:框架搭建之EF的Fluent Api模式的使用流程

    一. 前言 沉寂了约一个月的时间,今天用一篇简单的文章重新回归博客,主要来探讨一下Fluent Api模式在实际项目中的使用流程. 1. Fluent API属于EF CodeFirst模式的一种,E ...