正如我们了解的一样,当我们书写了JS程序之后,打开浏览器,我们的代码就可以开始运行了(当然保证你的代码没有问题,才能按照你的预期进行执行)。刚才说的是JS执行的一个大的环境,今天我们学习一下,JS在解析器里的一个执行过程。
这个过程分为两个阶段:
进入执行上下文执行代码
变量对象的变化,和这两个阶段息息相关。
转载
2024-03-22 16:24:18
0阅读
一、网页页面都是由html+css和javaScript组成的,如果页面中没有javaScript的存在,就不会有操作动作的执行,例如页面上你点击的按钮或者链接都离不开javaScript。(这一节不是为了讲javaScript的知识,对javaScript感兴趣的同学可以自己去网上找资料学习)。 二、如何用javaScript打开百度页面,并定位百度搜索输入框输入值? 1 packa
立即执行函数1. 立即执行函数的定义和形式定义:此类函数没有声明,在一次执行后立即释放。适合做初始化工作,适合在整个代码中只执行一次的函数(初始化功能函数)。普通函数在未执行时会占用内存空间,为了减少不必要的空间占据,可以对只执行一次的函数使用立即执行函数的方式来编写。对应红宝书中的立即调用的匿名函数(IIFE立即调用的函数表达式)立即执行函数的形式:(function() {
} ())第一组
转载
2024-10-19 18:47:20
30阅读
"new Function" 语法语法 创建函数的语法:let func = new Function ([arg1, arg2, ...argN], functionBody);该函数是通过使用参数 arg1…argN 和给定的 functionBody 创建的。下面这个例子可以帮助你理解创建语法。这是一个带有两个参数的函数:let sum = new Function('a', 'b', 'r
转载
2024-04-06 10:28:05
89阅读
1.JavaScript 中的 this 是什么2.全局执行上下文中的 this3.函数执行上下文中的 this3.1 通过函数的 call 方法设置3.2 通过对象调用方法设置3.3 通过构造函数中设置4.this 的设计缺陷以及应对方案4.1 嵌套函数中的 this 不会从外层函数中继承4.2 普通函数中的 this 默认指向全局对象 window5.总结我们讲了词法作用域、作用域链以及闭包,
转载
2024-09-27 23:19:57
34阅读
一般状况下, 我们需要调用一个JavaScript 函数, 基本的状况都是先定义, 然后再调用。如果不需要显示调用函数, 让这个函数在定义的时候就执行的话,就可以用到立即执行函数。立即执行函数的常见写法: 1. (function(){…})()
2. (function(){…}()) 要理解立即执行函数,需要先理解一些函数的基本概念。函数声明,函数表达式,匿名函数。 
关于标签,我们有一般会放在两个地方,一个是在标签的内部,另一个是放在前面。这一次我们着重讲解一下放在标签内部。在我们用Js操作DOM元素时,如果不延时执行,DOM元素其实是根本还没有被渲染出来的。所以各种 getElementById、 getElementsByTagName实质上是获取不到的,也谈不上如何进行Style样式的修改或者更多的操作。所以当我们把Js脚本放在了标签里,我们需要
转载
2024-04-13 13:49:36
43阅读
全局上下文非严格模式和严格模式中this都是指向顶层对象(浏览器中是window)。this === window // true
'use strict'
this === window;
this.name = '若川';
console.log(this.name); // 若川函数上下文普通函数调用模式// 非严格模式
var name = 'window';
var doSth = fu
前言 从应用层面深入理解原型模式和js中的构造函数。构造函数(constructor) js中的任何对象都有自己的构造函数。js中使用字面量声明的普通对象({})或数组([])等子对象本质上都是使用相关的函数做构造调用声明的。 // 等同于 var obj = {};
var obj = new Object();
// 等同于 arr = [];
var arr
它们没有区别。 你需要明白 IIFE 的原理,我简单说一下: 代码如下: function foo() {...} // 这是定义,Declaration;定义只是让解释器知道其存在,
转载
2023-05-11 14:11:15
140阅读
了解JS函数在JS中定义函数有两种形式函数定义
函数表达式
函数定义:f叫函数名 ()是函数特有的标识,{}叫函数体
定义=声明+赋值function f(){
console.log("hello")
console.log("js")
console.log("vue")
}2. 函数调用f();调用函数时,就会把函数体中的代码都执行了。
函数的返回值
function
A.a=function(){alert(3);}
A.a();
A.prototype.a=function(){alert(3);}
newA().a();
以上例子说明了使用prototype声明的函数必须用实例来调用函数,如果是直接用变量来声明的话,直接调用即可。
JavaScript中
转载
2024-05-25 08:25:47
235阅读
很多人都会疑惑,js中的函数参数,有啥好讲的,不就是个参数而已吗?这样想你就大错特错了,js函数参数用途可大着呢,那它到底是何方神圣?请看下方一、首先讲解一下什么是函数参数 函数参数:包括形参和实参 原则上,形参和实参的数量应该是一一对应的,实际上,它们有可能不会一一对应,那么又会是怎样的情况呢?1、如果实参数量
转载
2023-09-01 15:16:05
74阅读
原生JS是指遵循ECMAscript标准的javascript,不同于微软的jscript也不依赖于任何框架,依托于浏览器标准引擎的脚本语言。jquery是在原生态的js上集成的框架资源,使用jquery并不代表代码就不是你写的,区别在于使用jquery只是使用了它的语法,更利于兼容以及实现,jquery已经将常规的js兼容问题解决,所以使用起来出现不兼容的情况会更少,更利于开发。但同时,要使用j
转载
2024-10-26 20:47:30
20阅读
动态属性访问、特性全解析、重要属性和函数、
使用动态属性访问一、使用动态属性访问JSON类数据 feed['Schedule']['events'][40]['name'],这种句法冗长,在Javascript中,可以使用feed.Schedule.events[40].name,获取那个值。 在Python中,可以实现一个近似字典的类,
我与成长,至死方休~
一、概述
1. 概念
假定在JavaScript中有多个线程同时工作,有一个线程修改了这个线程的元素,而另一个线程同时删除了这个元素,那此时浏览器就无法决定以哪一个线程的结果为准; 为了避免这种线程同步的问题,所以JavaScript从一开始就被设定为单线程模式工作,那这也成为了这门语言的核心特色之一
Nodejs和JavaScript为什么js执行效率比c低Nodejs比起Java更适合的场景Nodejs应用场景:CPU密集型(CPU-bound)IO密集型(I/O bound)CPU密集型 vs IO密集型 为什么js执行效率比c低参考:在编译的时候c++中因为变量类型都是已知的,所以,可以保存对象的结构,确定好每一个属性的偏移量。再编译代码的时候用基地址+偏移地址的方式表示。由于js是弱
转载
2024-04-01 06:19:12
3阅读
1.方法调用模式: 先定义一个对象,然后在对象的属性中定义方法,通过myobject.property来执行方法,this即指当前的myobject 对象。 var blogInfo={
blogId:123,
blogName:"werwr",
showBlog:function(){alert(this.blogId);}
}; blogInfo.showBl
转载
2024-03-21 19:42:23
40阅读
(function(){}())与(function(){})()这两种写法,都是一种立即执行函数的写法,即IIFE (Immediately Invoked Function Expression)。这种函数在函数定义的地方就直接执行了。通常的函数声明和调用分开的写法如下:function foo() {/*...*/} // 这是定义,Declaration;定义只是让解释器知道其存在
转载
2023-07-27 23:19:09
54阅读
每条命令后如果不加&的话就是依次一行一行的顺序执行,只有前面一行执行完成后再执行下一行,事实上还有很多特殊符号可用来分隔单个的命令:分号(;)、管道(|)、&、逻辑AND (&&),还有逻辑OR (||)。对于每一个读取的管道,Shell都回将命令分割, 命令执行操作符 多条命令可以在一行中出现。它们可以从左到右顺序执行。此时,各条命令之间应以分号( ;
转载
2024-03-27 21:32:49
176阅读