![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaScript
文章平均质量分 80
晴空万里 彩虹再现
星辰大海!!!
展开
-
RefereceType与this指向
如果调用括号()的左边是引用类型的值,this指向引用值的base对象(baseObject),在不适引用类型的情况下,值为null。此引用类型不是数据的引用类型,而是一种规范类型,他主要是一个指代,代替一个标识符或属性的表示方式,你可以将引用类型就看成是一个标识符的一种表示方式,保存了标识符的一些信息,需要真实值时又可以通过它找到真实值。(foo.bar)(),这里用到了一个小括号,它在这起到分组符作用,也就是它不会迫使引用类型执行GetValue方法,其执行结果,跟上面一模一样。...转载 2022-08-09 23:04:06 · 166 阅读 · 0 评论 -
执行上下文与词法环境
可以理解为当前代码的运行环境,同一个函数在不同环境中运行,会因为访问的数据不同导致产生不一样的结果,你可以抽象为一个执行代码的地方或者是抽象为内部对象用来描述代码的执行时环境,包含代码执行时的信息,该环境由js引擎构建。也叫执行上下文栈,是一种LIFO的数据结构(后进先出),用于存储执行上下文,用于追踪执行环境的执行。js引擎首次遇到时,会创建全局上下文并压入栈顶,然后每次执行函数都会创建新的上下文压入栈中,执行完后,执行上下文从栈顶弹出。以下有三个上下文。.........转载 2022-07-24 21:49:34 · 392 阅读 · 0 评论 -
深入剖析立即执行函数的执行方式
表达式讲立即函数之前,首先来理解什么是表达式表达式: 指的是可以被求值的代码,也就是说只要代码能求得(返回)一个值的,它就是表达式。例子:以下都是表达式,这里只举一部分例子。var a = 10 //赋值表达式,它的结果就是 10a; //变量表达式,它的结果就是10123; //也是表达式 它的结果就是它本身'abc'; //字符串表达式 结果是自身var arr = [1,2,3]; //数组创建表达式,结果是数组的引用地址a[1]; //数据访问表达式,它的结果就是2原创 2022-05-05 22:41:31 · 380 阅读 · 0 评论 -
js 作用域
作用域标识符生效的区域。作用:提高程序的可靠性,减少命名冲突全局作用域个script标签或一个js文件中会形成一个区域叫全局作用域,在整个script中,变量都可以起作。在srcipt标签内的全局作用域中定义的变量是全局变量,在全局下都可以使用。局部作用域:在函数内部也会形成作用域也叫局部作用域 这里声明的变量只在整个函数内部起作用(也就是说在函数外不能访问到函数内的代码)在函数里定义的变量是局部变量,只在函数内部起作用。在函数里可以访问函数外的变量,换句话说局部作用域是在全局作用域范围里面原创 2022-04-29 21:54:54 · 143 阅读 · 0 评论 -
js浅析预解析(es6之前)
此文想深入理解的话可以看看汤姆大叔的博客:https://www.cnblogs.com/TomXu/archive/2011/12/15/2288411.html非常详细,看懂了这里面的所有文章,理解作用域、闭包、变量对象、原型都不是问题。js大致运行过程1.语法分析:js代码在执行之前,会通篇扫码一遍代码,有没有低级的语法错误,比如: 中文的括号,如果有错误,就一行代码都不执行console.log(1111);console.log(22); //中文的分号console.log(55原创 2022-04-23 22:50:52 · 271 阅读 · 0 评论 -
js arguments的特性
arguments在js中函数的参数天生不定参,形参可以比实参多,实参也可以比形参多并且不报错,因为在每个函数中都有一个arguments,叫做实参列表,它是一个类似于数组的对象,它会按照实参的顺序保存着所有传递给函数的实参。也就是说它会接收完所有的实参。没有传递值的形参,值默认为undefined。// num2的值是undefined//形参就相当于在函数中隐式的声明了两个变量var num1,num2function fn(num1,num2){ //arguments接收完所有的实参原创 2022-04-13 22:30:01 · 160 阅读 · 0 评论 -
js 数据类型转换
显示类型转换由开发人员手动调用一些方法将数据强制转换成另一种类型。Number()方法:将数据转换成Number类型,无法转换的数据会返回NaN。例子://字符串123转换成数字类型的123 var num = Number('123'); // number:123console.log(typeof(num) + " : " + num); //NaN 字符串只有数字字符串才能转换数字类型,其它的字符串不能被转换 console.log(typeof Number("a"))原创 2022-04-05 22:27:16 · 268 阅读 · 0 评论 -
js 引用值和原始值
数据类型js将数据类型分为两种:1. 原始类型原始类型分为五大类: Number,String,Boolean,Undefined,Null类型。原始值是固定的简单的数据,也就是说数据的大小不会发生变化,并且不能由其他值组成。Number: 数字类型,1、1.1、-1等等,js中数字类型就包括了浮点型。String: 字符串类型,带有一对单引号(’ ')或双引号的值(" "),表示字母、符号、数字的统称。比如,我们要输入中文必须但引号: “你好世界”。Boolean: 布尔类型,只有两个值tr原创 2022-03-20 23:32:37 · 1137 阅读 · 1 评论