JS基础——变量
- 引用类型:对象 数组 函数
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种情况有可能发生强制类型转换:
- 字符串拼接
- "=="运算符
- if语句
- 逻辑运算
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基础——变量的更多相关文章
- JS基础-变量类型和类型转换
JS 变量类型 JS中有 6 种原始值,分别是: boolean number string undefined symbol null 引用类型: 对象 数组 函数 JS中使用typeof能得到哪些 ...
- js基础——变量、作用域、内存
1.new关键字创建的是引用类型: eg. var box = new Object(); box.name = "Linda";//引用类型添加属性没问题 al ...
- Js基础知识(一) - 变量
js基础 - 变量 *大家对js一定不会陌生,入门很简单(普通入门),很多人通过网络资源.书籍.课堂等很多途径学习js,但是有些js基础的只是往往被大家遗漏,本章就从js变量类型来说一说js 变量类型 ...
- JS基础学习1
1 JS 概述 一个完整的javascript实现是由以下3个不同部分组成的: (1) 核心(ECMAscript) (2) 文档对象模型(DOM) Document object ...
- js基础梳理-究竟什么是变量对象,什么是活动对象?
首先,回顾下上篇博文中js基础梳理-究竟什么是执行上下文栈(执行栈),执行上下文(可执行代码)?的执行上下文的生命周期: 3.执行上下文的生命周期 3.1 创建阶段 生成变量对象(Variable o ...
- js基础知识--变量类型和变量计算
提问: JS中使用typeof能得到的哪些类型 何时使用===何时使用== JS中有哪些内置函数 JS变量按照存储方式区分为哪些类型,并描述其特点 如何理解JSON 涉及知识点:(1)变量类型 值类型 ...
- js基础篇——变量
a.变量类型 变量类型 构造函数 举例 类型检测typeof 字符串 function String() var t = "chua"; var m = new String(&q ...
- js基础知识之_入门变量和运算符
js页面效果学习 (轮播图,文字滚动效果等等) javascript能来做什么 1.数据验证 2.将动态的内容写入网页中(ajax) 3.可以对时间做出响应 4.可以读写html中的内容 5.可以检测 ...
- Python--前端基础之JavaScript(JS的引入方式,JS的变量、常量和标识符,JS的数据类型,运算符,流程控制,JavaScript的对象)
JavaScript介绍 JavaScript是运行在浏览器端的脚步语言,JavaScript主要解决的是前端与用户交互的问题,包括使用交互与数据交互. JavaScript是浏览器解释执行的,前端脚 ...
随机推荐
- Redis for linux安装配置之—-源码安装
一‘redis单实例安装配置1.下载redis源码压缩包,并将其上传至服务器/usr/local2.解压redis源码压缩包 # tar -xzvf redis-3.2.12.tar.gz3.进入r ...
- LSTM如何解决梯度消失或爆炸的?
from:https://zhuanlan.zhihu.com/p/44163528 哪些问题? 梯度消失会导致我们的神经网络中前面层的网络权重无法得到更新,也就停止了学习. 梯度爆炸会使得学习不稳定 ...
- ceph问题总结
之前测试用ceph总是警告 health HEALTH_WARN pool cephfs_metadata2 has many more objects per pg than average (to ...
- C++使用: C++中map的基本操作和用法
在阅读SSD代码中发现作者使用了C++中的map方法,因此搜索该关联式容器的使用方法,在这里一并总结. 一.Map 簡介 Map是STL的一個容器,它提供一對一的hash. 第一個可以稱為關鍵字(ke ...
- 面试题--Java
&与&&区别? &与&&都是逻辑运算符,都是判断两边为真则为真,两边为假则为假,但是&&如果第一个条件不成立的话,后面的将不会再继续执行 ...
- converting the moment tensor to strie-dip-rake
在多断层求解的试验中,用到了六个基本矩张量: 而显然,尚不能从图中直接读出strke,dip,rake的值,但有关资料给出了这六个基本矩张量的momet tensor: 而找到一个网站可以方便地将mo ...
- faker模块
faker模块中有很多函数,可以直接生成手机号,身份证号,姓名等 1.安装faker pip install faker 2.faker的使用 from faker import Faker f=Fa ...
- Windows10 VS2017 C++使用crypto++库加密解密(AES)
参考文章: https://blog.csdn.net/tangcaijun/article/details/42110319 首先下载库: https://www.cryptopp.com/#dow ...
- VUE开发SPA之微信授权登录
SPA单页应用中微信授权登录的一点思路 单页应用应该如何解决微信授权登录的尴尬跳转?后退无法返回?主要遇到的问题就是 先进入单页应用,一边渲染页面一边判断用户有没有登录,当判断到没有登录时异步数据请求 ...
- 行高(line-height)
line-height属性 设置元素中文本行高.