
Javascript专题
炒面熊
岁寒知后凋
展开
-
JavaScript的this的彻底理解
写在前面:这篇文章有大篇幅是网上摘下来的(忘了从哪里摘下来的),经过个人整理又发布的,如果原作者不希望这篇文章在此发布、或者需要先在片头署原作者名,可以联系我这个号this 是 JavaScript 的重点,我们初学时总被它困扰原因其实很简单,如果某些技术难题反复的困扰你,那么 恰恰说明这个问题从来都没有被妥善处理先上图(图中的流程只针对于单个规则)解释我们先来看几个函数调用的场景function foo() { console.log(this.a)}var a..原创 2020-11-18 19:59:39 · 252 阅读 · 0 评论 -
javascript基本数据类型与引用数据类型区别
基本数据类型:Number、String、Boolen 、 Symbol、 null 、 undefined引用数据类型:object(普通对象、数组、正则、函数……)区别数据类型 基本 引用 储存的元素 值 地址 (指针) 储存的地点 栈 堆 eg1const a = []对于常量 a 来说,假设内存地址(指针)为 #001,那么在地址 #001 的位置存放了值 [],常量 a 存放了地址(指针) #001,再看以下代码const原创 2020-11-18 19:55:57 · 221 阅读 · 0 评论 -
JavaScript代码的运行机制
1、变量提升在 js 代码执行之前,会对所有声明的变量进行提前var 声明的变量 => 提前声明,不赋值console.log(num); // undefined // 代码执行到这里时,num 只是经过了变量提升,但是没有完成赋值,所以是 undefined;var num = 100; // 代码执行过这一行后完成了赋值,所以 num 是100console.log(num); // 100function 声明的变量 => 提前声明,并且赋值con.原创 2020-11-17 17:09:39 · 247 阅读 · 0 评论 -
JavaScript的变量的彻底理解
变量变量是一个用来存储具体值的容器。创建变量的方式:var、let、const、function、import、class……/* 语法: var 变量名 = 值; let 变量名 = 值; const 常量名 = 值; function 函数名 () { // 函数体 }; */变量命名规范 严格区分大小写 遵循驼峰命名法:按照数字、字母、下划线或者$来命名(数字不能作为开头),命名的时候基于英文单词拼接成一个名字(第原创 2020-11-17 17:07:58 · 172 阅读 · 0 评论 -
var、let、const的区别
var、let、const 都是命名变量的关键字先上结论:关键字变量提升块级作用域重复声明同名变量重新赋值var√×√√let×√×√const×√××表格下面文字是对表格的解读。一、变量提升//用var命名的变量有变量提升console.log(num1); // undefinedvar num1 = 10;// 以上代码运行时,相当于下面的写法var num2; // 声明提升到作用域最顶端console..原创 2020-11-16 17:42:07 · 204 阅读 · 0 评论 -
JavaScript的原型对象的彻底理解
前言开篇先记住以下两点,再渐渐通过实例理解__proto__和constructor属性是对象所独有的;prototype属性是函数所独有的。但是由于 JS 中函数也是一种对象,所以函数也拥有 __proto__ 和 constructor 属性一、函数的原型对象 我们创建函数 A 的同时, 浏览器会在内存中创建一个对象 B,A 函数默认会有一个 prototype 属性。指向了对象 B( 即:prototype 的属性的值是对象 B )。 这个对象 B 就是函数 A 的原原创 2020-11-16 17:26:08 · 351 阅读 · 0 评论