javascript【基础】数据类型
五种基本数据类型
Number
String
Boolean
Undefined
一个没有设置值的变量
Null
表示一个空对象引用
ES6(Symbol) //ES6
一种复杂数据类型
- Object
在 Javascript 的逻辑运算中,0、""、null、false、undefined、NaN 都会判定为 false ,而其他都为 true
两种方式访问对象属性:
person.lastName;
person["lastName"];
通过for in遍历对象属性
var person={fname:"John",lname:"Doe",age:25};
for (x in person)
{
txt=txt + person[x];
}
typeof
使用 typeof 操作符来检测变量的数据类型。
返回结果为js基本的数据类型
var temp=null; typeof temp; // 返回 object
typeof "John" // 返回 string
typeof 3.14 // 返回 number
typeof false // 返回 boolean
typeof [1,2,3,4] // 返回 object
typeof {name:'John', age:34} // 返回 object
typeof NaN // 返回 number
typeof new Date() // 返回 object
typeof function () {} // 返回 function
typeof null // 返回 object
typeof myCar // 返回 undefined (if myCar is not declared)
//使用typeof的一个不好的地方就是它会把Array还有用户自定义函数都返回为object
NaN
typeof NaN //number
请使用 isNaN() 来判断一个值是否是数字。原因是 NaN 与所有值都不相等,包括它自己
Undefined 和 Null
null表示“没有对象”,即此处不应该有值。
作为函数的参数,表示该函数的参数不是对象
作为对象原型链的终点。
Object.getPrototypeOf(Object.prototype) // nullundefined表示“缺少值”,即此处应该有一个值,但是还没有定义 。
- 变量被声明了,但没有赋值时,就等于undefined。
var a;
a // undefined
- 调用函数时,应该提供的参数没有提供,该参数等于undefined。
function f(x){console.log(x)}
f() // undefined
- 对象没有赋值的属性,该属性的值为undefined。
var o = {};
o.p // undefined
- 函数没有返回值时,默认返回undefined。
function f() {console.log(1)}
var a = f();
a // undefined
var str;
alert(str);//undefined 没有申明对象类型
//Undefined 和 Null 的区别
typeof undefined // undefined
typeof null // object
null === undefined // false
null == undefined // true
constructor 属性
constructor 属性返回所有 JavaScript 变量的构造函数。
"John".constructor // 返回函数 String() { [native code] }
(3.14).constructor // 返回函数 Number() { [native code] }
false.constructor // 返回函数 Boolean() { [native code] }
[1,2,3,4].constructor // 返回函数 Array() { [native code] }
{name:'John', age:34}.constructor // 返回函数 Object() { [native code] }
new Date().constructor // 返回函数 Date() { [native code] }
function () {}.constructor // 返回函数 Function(){ [native code] }
constructor只能对已有变量进行判断,而typeof则可对未声明变量进行判断(返回undefined)。
instanceof
为判断一个对象是否为某一数据类型,或一个变量是否为一个对象的实例;返回boolean类型
语法为 o instanceof A
var h=new Person();
var o={};
alert("h instanceof Person:" + (h instanceof Person));//true
alert("h instanceof Object:" + (h instanceof Object));//true
alert("o instanceof Object:" + (o instanceof Object));//true
==和===
==表示相等 (值相等)在比较的时候如果是 == 会先做类型转换,再判断值得大小
===表示恒等(类型和值都要相等)
javascript【基础】数据类型的更多相关文章
- JavaScript基础——数据类型
JavaScript使用数据类型来确定如何处理被分配给一个变量的数据.变量的类型决定了你可以对变量进行什么操作,如循环或者执行.下面描述了最常用的变量类型. 字符串(String):此数据类型将字符数 ...
- javascript基础数据类型与引用类型
javascript一共有6种数据类型 有5种基本类型:Null,String Number,Boolean,Undefined 和一种引用类型Object 基础类型在内存中存在于栈空间中,例如 va ...
- JavaScript基础数据类型(一)
动态类型 JavaScript 是一种弱类型或者说动态语言.这意味着你不用提前声明变量的类型,在程序运行过程中,类型会被自动确定.这也意味着你可以使用同一个变量保存不同类型的数据: var foo = ...
- Javascript基础--数据类型
一.基本数据类型 1.字符类型:表示字符的类型,例:'aaa',"aaaa",'123456',''(空字符) 2.数字类型:表示数字的类型,例:0,1,3.1415936等 特殊 ...
- JavaScript基础数据类型
一.数值 1.JavaScript不区分整型和浮点型,就只有一种数字类型 2.还有一种NaN,表示不是一个数字(Not a Number) eg: parseInt("ABC") ...
- JavaScript基础系列目录(2014.06.01~2014.06.08)
下列文章,转载请亲注明链接出处,谢谢! 链接地址: http://www.cnblogs.com/ttcc/tag/JavaScript%20%E5%9F%BA%E7%A1%80%E7%9F%A5%E ...
- JavaScript基础:数据类型的中的那些少见多怪
原文:JavaScript基础:数据类型的中的那些少见多怪 Javascript共有6种数据类型,其中包括3个基本数据类型(string,number,boolean).2个特殊数据类型(undefi ...
- 前端javascript基础总结(1)js的构成以及数据类型
在日常工作中用到的原生js很少,感觉自己已经把原生的js忘光了,在这里开始总结下js,就从最基础的开始吧!!! JavaScript的组成: 1.ECMAScript:解释器,翻译. 个人理解为就是解 ...
- 初识 Javascript.01 -- Javascript基础|输出方式、变量、变量命名规范、数据类型、
Javascript基础 1 聊聊Javascript 1.1 Javascript的历史来源 94年网景公司 研发出世界上第一款浏览器. 95年 sun公司 java语言诞生 网景公司和su ...
- javascript基础语法备忘录-变量和数据类型
//javascript基础语法备忘录-变量和数据类型 // 定义变量使用var关键字 后面跟变量名,不要使用eval 和arguments为变量名 var message = "hi&qu ...
随机推荐
- 一个厂区宿舍管理后台密码爆破 - selenium版
title: 某厂区宿舍管理后台密码爆破-selenium测试 author: 杨晓东 permalink: 某厂区宿舍管理后台密码爆破-selenium测试 date: 2021-10-02 11: ...
- 看了这本基础教程的书籍你还担心你的python学不好吗?
python基础教程(第二版)PDF高清版免费下载地址: 提取码:chcj 值得花时间阅读的一本书 内容简介 · · · · · · 本书是经典教程的全新改版,作者根据Python 3.0版本的种种 ...
- ifconfig查询的时候,只有lo网卡,没有ens33网卡
问题ifconfig查询的时候,只有lo网卡,但是ifconfig -a查询的时候却有ens33网卡ls /etc/syconfig/network-scripts/查找所有网卡配置信息文件的时候,没 ...
- leetcode刷题(三)
1.图论 找到小镇的法官 在一个小镇里,按从 1 到 N 标记了 N 个人.传言称,这些人中有一个是小镇上的秘密法官. 如果小镇的法官真的存在,那么: 小镇的法官不相信任何人.每个人(除了小镇法官外) ...
- ubuntu docker pull 失败 Error response from daemon: Get https://registry-1.docker.io/v2/
问题: ubuntu@VM-3-4-ubuntu:~$ docker pull tensorflow/tensorflow:2.3.4-gpuError response from daemon: G ...
- Mybatis的几种传参方式
前言 单个参数 多个参数 使用索引[不推荐] 使用@Param 使用Map POJO[推荐] List传参 数组传参 总结 单个参数 单个参数的传参比较简单,可以是任意形式的,比如#{a}.#{b}或 ...
- vue 退出登录页面跳转 浏览器localStorage中的值没有改变
vuex中的loginout方法actions:{ loginout(data:string){ return new Promise(((resolve, reject)=>{ setTime ...
- linux办公
办公环境.生产环境: centos.redhat.big cloud 1.改PS1:生产主机的主机名太长了,每次显示占半行 [root@10.0.0.11 ~]$ echo $PS1 [\u@10.0 ...
- python_pandas常用操作
df:任意的Pandas DataFrame对象 s:任意的Pandas Series对象 raw:行标签 col:列标签 导入依赖包: import pandas as pd import nump ...
- java中的ConcurrentModificationException是什么异常?在哪些场景下会报该异常?
在软件构造实验Lab2的ConcreteVerticesGraph里,需要我们编写remove()方法.移除一个点没有别的方法,只有遍历集合vertices(),找到该点并移除. 当时我没有写上红框中 ...