JavaScript 基本概念:数据类型与变量
JS 属于弱语言:它不用进行“预编译”,而是在运行时“编译”。
JS的组成:核心(ECMAScript), 文档模型对象(DOM),浏览器对象模型(BOM)
JS的写入及引用:
1: 在内引用外联JS代码,,缺点是他会先加载 JS 代码,最后才执 行HTML代码,
解决方法是: 在JS代码头部加上 window.onload = function() {…JS主体代码…}
2: 在 Body中创建
3: 在 HTML标签内嵌套 JS 代码。 但是这种方法不建议
数据类型 (两大类,共8种)
基本数据类型 | (值类型) |
---|---|
String | 任意的字符串 |
Number | 任意的数字(不包括整型与浮点数) |
Boolean | 布尔值,true / false |
undefiend | 已定义未赋值的类型 var a ; |
null | 已定义并主动赋值为null的类型 / 空值 |
– | – |
引用数据类型 | (对象类型) |
Object | 对象可以是任意的类型,包括对象嵌套对象,对象嵌套函数,对象用于存放数据 |
function | 一种可以被执行的对象 |
Array | 一种特别的对象,以下标为索引,内部的数据是有序的 |
undefined 与 null 的区别?
undefiend 指的是已定义,未赋值的变量, null 则是定义了,并且赋值为 null ,为的是表明将要赋值的对象,先在内存中开辟空间
var a; console.log(typeof a); // 它将返回 undefined var b = null; // 初始化赋值为 null, 表明将要赋值为对象 b = [1,2,3]; // 确定对象赋值 b = null; // 让 B 指向的对象称为 垃圾对象(被浏览器回收)
严格区别变量类型与数据类型
基本类型的变量值是直接保存在栈内存中,变量名用来查找到对应的栈内存中的变量值数据。
引用数据类型的变量值保存在堆内存中,并且把这个堆内存地址 0x123 赋值给栈内存中的变量。
只有引用数据类型,才会用得到堆内存。一旦引用数据类型的属性值发生改变,所有人的数据也将发生改变
var a = 123; // 这个是基本数据类型 var b = function(){。。。} //引用数据类型
引用数据类型的栈,堆关系图
判断数据类型的方法(共3种)
typeof | 返回数据类型的字符串表达式(即数据类型),可以判断 undefined / 数值 / 字符串 / 布尔值 / function,它不能判断 null,Object,array |
---|---|
instanceof | 判断构造函数的实例,即对象的具体类型,他会返回 布尔值,(对象类型的都统称为“构造函数”) |
=== | 用于判断 undefined 类型,也判断 null 类型较多 |
// 这个对象包含了数组,函数,对象, 对象的属性值可以是任意类型 var obj = { a:[1,'abc',console.log], b:function(){ console.log("xx"); }, c:c = {c1:200,c2:300} } console.log(obj instanceof Object); // 判断obj 是不是构造函数的实例, 他会返回 布尔值 console.log(obj.a instanceof Array);
实例(实例对象)
根据类型,创建的实例对象(实例可以理解为调用构造函数的对象模板)
// 实例对象 对应着 类型对象 function Person(name, age){ // 构造函数 this.name = name; this.age = age; } var p = New Person() // 类型对象
数据_变量_内存
什么是数据?
存储在内存中代表特定信息的东西,它本质上是 0101010101
数据的特点:可传递,可运算,在计算机中,一切皆数据
数据的运算方式:算术运算,逻辑运算,赋值运算,运行函数
什么是内存?
内存条介质产生可存储数据的临时空间。
一块内存划分为两个数据盘:栈内存 和 堆内存
栈内存用于存放地址值 0x123, 全局变量 / 局部变量
堆内存用于存数据变量值 和 对象
什么是变量?
可变化的量,它的组成由变量名和变量值组成,每个变量都对应一块小的内存,变量名用来查找到对应的内存,而变量值就是内存中保存的数据。
内存,变量,数据三者之间的关系
内存用于存储数据的空间,变量是内存的标识(变量名存放在栈内存,变量值存放在堆内存中)
例如:var a = xxx;那么 a 内存中到底保存的是什么?
当 xxx 是基本数据时,保存的就是这个基本数据数据
当 xxx 是对象时,保存的就是这个对象的地址值
当 xxx 是一个变量时,保存的就是这个内存内容(可能是基本数据,也可能是地址值)
- JavaScript基本概念(变量和数据类型)
- JavaScript基本概念(变量 数据类型)
- JavaScript基本概念之变量与数据类型
- JavaScript高级程序设计(三):基本概念:数据类型
- JavaScript——变量与基本数据类型
- 15-JavaScript-基本语法-变量-规则-数据类型
- javascript注释,javascript的变量,javascript的基本数据类型,
- 【JavaScript】(2)标识符与关键字\基本|引用数据类型 \变量 \运算符与表达式\流程控制语句
- JAVA基础初探(一)核心概念(JVM,JDK,JRE)、流程控制语句、基本数据类型、关键字、标识符、常量与变量、类型转换、Debug处理
- javaScript的注释、变量和基本数据类型
- JavaScript基础——基本概念:数据类型及其转换
- javascript基本概念(语法 变量类型 操作符)
- JavaScript基本概念(一)数据类型
- JavaScript学习笔记一 - 基本语法,数据类型、变量
- JavaScript基本概念(三)--- 数据类型
- Javascript学习笔记一基本数据类型与变量声明
- 读javascript高级程序设计01-基本概念、数据类型、函数
- javascript 基本概念(数据类型,小知识点)
- JavaScript:学习笔记(2)——基本概念与数据类型
- JavaScript高级程序设计之基本概念之数据类型第3.4讲笔记