• 引用类型:对象  数组 函数  
 var a = { age: };
var b =a ;
b.age = ;
console.log(a.age);// 21 传递的是地址, a,b同地址

  值类型:

var a =100;
var b =a;
b = 200;
console.log(a);// 100 a和b是两个不同的地址,改变b的值不会改变a的值

typeof 运算符只能区分值类型的详细类型,不能区分除了function以外的引用类型的详细类型

console.log(typeof undefined);// undefined
console.log(typeof 'abc');// string
console.log(typeof 123);// number
console.log(typeof true);//boolean
console.log(typeof {});//object
console.log(typeof []);//object
console.log(typeof null);//object
console.log(typeof console.log);//function
  • 变量计算——强制类型转换(值类型)

  以下4种情况有可能发生强制类型转换:

    1. 字符串拼接
    2. "=="运算符
    3. if语句
    4. 逻辑运算

  1、字符串拼接 强制类型转换 

var a =100 +10;//
var b = 100+'10';//

  2、“==”运算符 强制类型转换

console.log( 100 == '100');//true  将100转换成字符串‘100’
console.log( 0 == '');//true 0和''转成false比较
console.log( null == undefined);//true null和undefined 转成false比较

  3、if语句 强制类型转换

var a = true;
if (a) { /*执行*/ };
var b = 100;
if (b) { /*b转换成true 执行*/ }
var c = '';
if (c) { /*c转换成false 不执行*/ }

4、逻辑运算符 强制类型转换

console.log( 10 && 0);//
console.log( '' || 'abc');// abc
console.log( !window.abc );// true

相关问题:

1、判断一个变量会被当做true还是false

var a = 100;
console.log(!!a);

2、何时用"==",何时用''==="?

== 有强制类型转换  === 不会

if (obj.a == null) {
//这里相当于 obj.a === null || obj.a === undefined ,简写形式
//这是jquery源码中推荐的写法,除此之外 都用 ===
}

 3、JS 中有哪些内置函数——数据封装对象    

Object Array Boolean Number String Function Date RegExp Error

4、JS按存储方式区分变量类型

5、如何理解JSON

  json就是JS的一个对象(有属性,有方法),同时也是一种格式。

JSON.Stringify({a:10,b:20});//对象转字符串
JSON.parse('{"a":10,"b":20}');// 字符串转对象

6、if中表示false的东东:

if (0) {}
if (NaN) {}
if ('') {}
if (null) {}
if (false) {}

JS基础——变量的更多相关文章

  1. JS基础-变量类型和类型转换

    JS 变量类型 JS中有 6 种原始值,分别是: boolean number string undefined symbol null 引用类型: 对象 数组 函数 JS中使用typeof能得到哪些 ...

  2. js基础——变量、作用域、内存

    1.new关键字创建的是引用类型: eg. var box = new Object();      box.name = "Linda";//引用类型添加属性没问题     al ...

  3. Js基础知识(一) - 变量

    js基础 - 变量 *大家对js一定不会陌生,入门很简单(普通入门),很多人通过网络资源.书籍.课堂等很多途径学习js,但是有些js基础的只是往往被大家遗漏,本章就从js变量类型来说一说js 变量类型 ...

  4. JS基础学习1

    1 JS 概述 一个完整的javascript实现是由以下3个不同部分组成的: (1)     核心(ECMAscript) (2)     文档对象模型(DOM)  Document object ...

  5. js基础梳理-究竟什么是变量对象,什么是活动对象?

    首先,回顾下上篇博文中js基础梳理-究竟什么是执行上下文栈(执行栈),执行上下文(可执行代码)?的执行上下文的生命周期: 3.执行上下文的生命周期 3.1 创建阶段 生成变量对象(Variable o ...

  6. js基础知识--变量类型和变量计算

    提问: JS中使用typeof能得到的哪些类型 何时使用===何时使用== JS中有哪些内置函数 JS变量按照存储方式区分为哪些类型,并描述其特点 如何理解JSON 涉及知识点:(1)变量类型 值类型 ...

  7. js基础篇——变量

    a.变量类型 变量类型 构造函数 举例 类型检测typeof 字符串 function String() var t = "chua"; var m = new String(&q ...

  8. js基础知识之_入门变量和运算符

    js页面效果学习 (轮播图,文字滚动效果等等) javascript能来做什么 1.数据验证 2.将动态的内容写入网页中(ajax) 3.可以对时间做出响应 4.可以读写html中的内容 5.可以检测 ...

  9. Python--前端基础之JavaScript(JS的引入方式,JS的变量、常量和标识符,JS的数据类型,运算符,流程控制,JavaScript的对象)

    JavaScript介绍 JavaScript是运行在浏览器端的脚步语言,JavaScript主要解决的是前端与用户交互的问题,包括使用交互与数据交互. JavaScript是浏览器解释执行的,前端脚 ...

随机推荐

  1. python安装requests

    下面是requests的安装步骤: 1.如果系统已经装了Python,把D:\python3.6.5\Scripts添加到系统的环境变量PATH后面 2.cmd下cd到这个目录下D:\Python3. ...

  2. day063 form 和modelform组件

    注册功能: (写一个简单的注册功能,要求用户名长度不得小于6位.) 普通方式写注册功能  views视图下: def register(request): error_msg=' ' if reque ...

  3. C语言与C++语言的强制类型转换格式区别

    C语言:(类型)(表达式),其中类型的括号()必须带. C++语言:(类型)(表达式),其中类型的括号()跟进表达式选带.

  4. SharePoint Framework Extensions GA Release

    博客地址:http://blog.csdn.net/FoxDave SharePoint Framework Extensions GA版本已经发布了,介于最近个人工作的变动调整,还没时间好好了解一下 ...

  5. design

    type Config struct { Item lock } func (*Config) getItem(){ } func (*Config) SetItem(){ } channel : - ...

  6. Python 进程池的同步方法和异步方法

    import time from multiprocessing import Process,Pool def f1(n): time.sleep(0.5) # print(n) return n* ...

  7. nginx配置socket服务

    1.服务器环境:centos7.5 2.安装nginx 首先下载:wget http://nginx.org/download/nginx-1.14.0.tar.gz 解压:tar zxvf  ngi ...

  8. Js/使用js来改变图片的url

    1.使用js的方式来改变url地址: $('#a1').attr("src","test1.jpg");这种方式来改变图片的url地址: 而不是采用$('#a1 ...

  9. 02bootstrap_通用标签样式和代码

    ---恢复内容开始--- 02bootstrap_通用标签样式和代码 1.标题:page-header 副标题样式 2.常用标签和样式 Bootstrap 将全局 font-size 设置为 14px ...

  10. <a>链接添加样式问题

    <a>链接是内联元素,必须设置成块元素block,才能有 width 和 height,不过你可以又定义display:block再定义成 display:inline 这样可以避免在IE ...