js 基础复习 之 js 类型判断

ECMAScirpt 变量有两种不同的数据类型:基本类型,引用类型。

1.基本类型

基本的数据类型有:`undefined,boolean,number,string,null.基本类型的访问是按值访问的,就是说你可以操作保存在变量中的实际的值。
基本类型有以下几个特点:

1.基本类型的值是不可变得:

1.任何方法都无法改变一个基本类型的值.

var name = ‘hello‘;
name.toUpperCase(); // 输出 ‘HELLO‘
console.log(name); // 输出  ‘hello‘

  2.我们不能给基本类型添加属性和方法,再次说明基本类型时不可变得.

var person = ‘hello‘;
person.age = 18;

console.log(person.age); // undefined

2.基本类型的比较是值的比较:

var a = 1;
var b = true;
console.log(a == b);//true

3.基本类型的变量是存放在栈区的(栈区指内存里的栈内存)

2.引用类型

javascript中除了上面的基本类型(number,string,boolean,null,undefined)之外就是引用类型了

1.引用类型的值是可变的

var person = {};//创建个控对象 --引用类型
person.name = ‘hello‘;
person.age = 22;
person.sayName = function(){console.log(person.name);}
person.sayName();// ‘hell0‘

delete person.name; //删除person对象的name属性
person.sayName(); // undefined

2.引用类型的值是同时保存在栈内存和堆内存中的对象

var person1 = {name:‘123‘};
var person2 = {name:‘456‘};
var person3 = {name:‘789‘};

3.引用类型的比较是引用的比较

var person1 = ‘{}‘;
var person2 = ‘{}‘;
console.log(person1 == person2); // true

基本类型的比较的时候提到了当两个比较值的类型相同的时候,相当于是用 === ,所以输出是true了。

var person1 = {};
var person2 = {};
console.log(person1 == person2); // false

引用类型时按引用访问的,换句话说就是比较两个对象的堆内存中的地址是否相同,那很明显,person1和person2在堆内存中地址是不同的:

时间: 2024-10-14 23:18:05

js 基础复习 之 js 类型判断的相关文章

JS基础复习

js基础语法 Netcape js基础语法规范(ECMAScript1,2,3,3.1,5(IE9),6   ES    ES6=es2015) DOM BOM BOM :是由浏览器厂商各自实现的,所以差异比较大 DOM:相关的规范  是由W3C维护的 Node的优势  没有浏览器的兼容性问题 前端项目尽量不要使用ES6,需要考虑兼容性问题 --------------------------------数据类型--------------------------- 1.数据类型分类: 基本数据

JS基础 复习: Javascript的书写位置

爱创课堂JS基础 复习: Javascript的书写位置 复习 js书写位置: body标签的最底部. 实际工作中使用书写在head标签内一对script标签里. alert()弹出框. console.log() 字面量: 数字字面量:整数,浮点数,特殊字符(Infinity,NaN). 字符串字面量:所有的语言, 语言中的数字,特殊字符串. 变量: 定义变量 标识符的规则:第一个字符是字母(a-z,A-Z),下划线,$.其他字符可以是字母(a-z,A-Z),下划线,$,数字.(还不能使用js

js基础复习---数组操作

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="keywords" content="js数组操作"> <meta name="description" content="js基础之数组api练习"> <title

js基础第二天(if判断语句)

if是js比较重要的部分,内容比较简单,单是在工作中是用的最多的.今天已经把表单的部分补齐了. If...else 条件判断 if(条件表达式){ 如果条件是true,执行该处代码,如果条件表达式结果为false,执行下边的代码 }else{ 如果条件表达式结果为false,执行该出代码 } var n1=prompt("请输入数字"); var n2=Math.floor(Math.random()*100) if(n1>n1){ alert("你赢了")

js基础复习1

    一.typeof 能判断那些类型 1.识别所有值类型 2.识别函数 3.判断是否是引用类型     二.何时使用===何时使用== ==会发生隐式转换,除了==null之外,其他一律用===     三.值类型和引用类型的区别 堆栈模型的不同,引用类型指向内存地址 深拷贝: /* 深拷贝 */ const obj1={ age:20, name:'xxx', address:{ city:"beijing" }, arr:['a','b','c'] } const obj2=d

浏览器的渲染机制— (js基础复习第3期)

一:几个问题 什么是DOCTYPE 及作用 浏览器渲染过程 重排refolw.重绘repaint.布局Layout 输入url经历了什么? 二:整理 1. 什么是DOCTYPE 及作用 浏览器使用DTD(文档类型定义)来判断文档类型,决定使用何种协议来解析, 以及切换浏览器模式 DOCTYPE是用来声明文档类型和DTD规范的,一个主要用途是文件的合法性验证.如果文件代码不合法,那么浏览器解析时便会出一些差错. html5 <!DOCTYPE html> 2.浏览器渲染过程 html->

JS基础语法---基本包装类型

基本包装类型 普通变量不能直接调用属性或者方法 对象可以直接调用属性和方法 基本包装类型: 本身是基本类型, 但是在执行代码的过程中, 如果这种类型的变量调用了属性或者是方法, 那么这种类型就不再是基本类型了, 而是基本包装类型, 这个变量也不是普通的变量了, 而是基本包装类型对象 string number boolean var num = 10; var num2 = Number("10");//转换,没有new---类型转 var num3 = new Number(&quo

js基础复习---字符串操作

var str="hello world";// 1 charAt() 返回字符串的第几个下标字符 console.log(str.charAt(4));// 2:fixed() 以打字机字体显示字符串 document.write(str.fixed());// 3:indexOf()返回某个字符或字符串片段在字符串中首次出现的位置下标,不存在则会返回-1 console.log(str.indexOf("w")); console.log(str.indexOf

js基础学习之-js对象的属性

Js属性 1. 设置属性 1)  对象. 2)  对象[‘属性名’] 3)   GetAttribute函数 2. 获取属性 1)  变量=对象. 2)  变量=对象[‘属性名’] 3)  GetAttribute函数 点和[]的区别: 1.访问关键字和保留字属性时只能使用[]  2.通过名称遍历属性时只能使用[] 1 obj['class'] //class是保留字,E3是保留字,E5在非严格模式下依然是保留字 2 obj['for'] //for是关键字 3 //第5 版对使用关键字和保留字