JavaScript
文章平均质量分 67
szmtjs10
学习,交流,提高
展开
-
js试题及答案(2)
一、单选题(共30题,每题2分)1.闭包的好处说法不对的A 缓存变量B 防止命名冲突C 可能造成内存泄露D 减少内存使用率解析:无2.不能进行强制类型转化的为A parseIntB parseFloatC NumberD Math.floor正确答案: D3.alert(username);var username=“leson”;结果为A undefinedB lesonC nullD 报错正确答案: A解析:变量提升,预解析4.不属于常见23种设计模式A 单转载 2021-12-09 21:34:10 · 2857 阅读 · 0 评论 -
js基础试题及答案(一)
一、单选题(共30题,每题2分) 1.如下代码,会弹出来是什么 var num1=“1” ;var num2=1 alert(num1-num2); A 0 B 11 C 1+1 D 报错 正确答案: A 解析: 相减,进行隐士转换,全部为数字 2.如下代码,会弹出来是什么 var num1=“hi” var num2=1...转载 2021-12-09 21:25:30 · 10125 阅读 · 0 评论 -
图解JS原型和原型链实现原理
在我初学 JS 语言的继承机制原型和原型链的时候,我一直理解不了这种设计机制,再加上之前原有对 Java继承的理解,在学习 JS 继承机制的设计上踩了一个大坑,很多知识点前期都是死记硬背,无法真正的理解它的设计思想。思维导图1.JS 的发展史要想贯彻 JS 的核心设计思想,我们要从 JS 的诞生说起。1.1 为什么会诞生 JavaScript ?相对比较成熟的浏览器是由网景公司发布的,早些年间,浏览器只能浏览网页内容,而不能进行用户交互。比如我们登录输入用户名和密码,在浏览器是不能进行判断用户是原创 2021-11-28 08:36:51 · 476 阅读 · 0 评论 -
闭包作用域链工作流程
闭包作用域链工作流程js作用域js作用域1> 内存创建阶段(预编译)2> 代码执行阶段2> 代码执行阶段js作用域作用域,就是变量起作用的区域(范围)。全局作用域(在函数和 {} 之外)。函数作用域(在函数内部)。块级作用域(ES6新增,在 {} 中)。js作用域当浏览器想要运行JavaScript代码时就调用这个容器。在这个容器中,有两个组件:1.内存组件;2.代码组件。浏览器创建了一个有两个组件的全局执行上下文,这两个组件分别是内存组件和代码组件。浏览器将分原创 2021-10-29 22:40:25 · 98 阅读 · 0 评论 -
第3章 作用域和作用域链的工作流程
目录第3章 作用域和作用域链的工作流程作用域,和作用域链[scope]隐含属性,存储运行期上下文的集合作用域链:[[scope]]中所存储的执行期上下文对象的集合,这个集合呈链式衔接——>作用域链执行上下文代码的执行如何在执行上下文中调用函数?调用堆栈例题,预编译的实现原理练习1练习2练习3第3章 作用域和作用域链的工作流程在前面数据类型的区分后,下一个比较大的问题是变量和函数的作用范围和作用时间。也就C++语言中所对应的作用域和存储类型,作用域和存储类型是程序设计中与时间、空间相关的两个重要概原创 2021-10-27 00:37:04 · 213 阅读 · 0 评论 -
JavaScript 是如何工作的?10张动图来解密
JavaScript是世界上最受欢迎和最让人讨厌的编程语言之一。我们因为它的强悍而喜欢它——只需学习JavaScript即可制作全栈应用程序,但同时也因为它出乎意料和令人不安的行事方式而讨厌它。本文将介绍JavaScript如何在浏览器中执行代码,并通过gif动画来解说。看完这篇文章,你离成为开发牛人的门槛又近了一步呢!执行上下文“JavaScript中的一切都发生在执行上下文中。”我希望每个人都记住这句话,因为这很重要。你可以假设执行上下文是一个大容器,当浏览器想要运行JavaScript代码转载 2021-10-25 22:48:08 · 315 阅读 · 0 评论 -
闭包补充练习
案例:出现产品条,当单击第几行产品,出现对应编号<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>JavaScript闭包属性详解</title> <style type="text/css"> p { background: gold; } </style&原创 2021-09-28 23:02:17 · 84 阅读 · 0 评论 -
闭包(2021.8.14)
学习目标:理解什么是JS中的闭包理解闭包的用途和缺点思考问题var num=1;function f1(){ alert(num);}f1();结果:1 函数内部可以直接读取全局变量function f1(){ var num=1;}f1();alert(num);错误 在函数外部无法读取函数内的局部变量前一个例子就是一个闭包,闭包是指函数可以使用函数以外定义的变量如何在外部读取局部变量?在函数的内部,在定义一个函数函原创 2021-08-14 11:29:01 · 115 阅读 · 0 评论 -
第4章 变量、作用域与内存
4.1原始值与引用值4.1.1动态添加属性4.1.2复制值4.1.3传递参数4.1.4确定类型4.2执行上下文与作用域变量和函数 在任何语言中都有这个问题,起作用的时间段(生命周期)和空间域。JavaScript通过作用域链的方式来实现空间的管理。通过预解析—创建执行上下文—垃圾回收的方式实现时间的管理。JavaScript 作用域JavaScript 局部作用域变量在函数内声明,变量为局部作用域。局部变量:只能在函数内部访问。JavaScript 全局变量变量在函数外定义,即为全原创 2021-09-27 23:00:31 · 101 阅读 · 0 评论 -
闭包理解(2021.8.13)
闭包之[[Scopes]]属性;为了区分普通匿名函数与闭包,这里使用谷歌浏览器和console.dir()命令查看普通函数与闭包函数。同时使用编辑器声明了两个函数: //普通函数 function ordinary() { return 'ordinary Function!!!'; }; console.dir(ordinary); //闭包 function closure_Fn() { var num = 1;转载 2021-08-13 16:32:53 · 141 阅读 · 0 评论 -
变量作用域总结
1.变量和函数的提升2.作用域_作用域链一、JS中的作用域代码(变量|函数)在某一个地方的作用1》在全局范围内,声明的变量和函数,其实都是window对象的属性或者方法2》例如函数中声明一个局部变量在全局中打不出来二、JS中的作用域链内部有权访问外部的局部变量或者函数 外部不能访问内部的局部变量或者函数<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8">原创 2020-11-30 22:59:42 · 199 阅读 · 0 评论 -
图解JS原型和原型链实现原理
图解JS原型和原型链实现原理 更新时间:2020年09月15日 10:03:44 作者:小几斤 这篇文章主要介绍了图解JS原型和原型链实现原理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在我初学 JS 语言的继承机制原型和原型链的时候,我一直理解不了这种设计机制,再加上之前原有对 Java继...转载 2020-11-29 22:21:32 · 185 阅读 · 0 评论 -
前端代码在线编辑器:codepen、codesandbox
前端代码在线编辑器:codepen、codesandbox markix 2020-05-03 21:53:47 ...转载 2020-10-13 18:20:56 · 1505 阅读 · 0 评论 -
JavaScript内部原理:浏览器的内幕
JavaScript内部原理:浏览器的内幕 原创 前端小智 2020-03-12 11:09:09 简介Javascript 是一种奇怪语言,有些人喜欢它,有些人讨厌它。它有许多独特的机制,这些机制在其他流行语言中不存在,也没有对应的机制,还有突出明显的就是代码的执行顺序了解浏览器环境,它的组成以及它的工作原理会让我们在编写 JS 时更加自信,并为可能发生的潜在问题做好了充分的准备。在这篇文章中,我们试着解释一下Chrome浏览器下到底发生了什么,来一起看看:V8 Javascript 引擎编译步骤,堆和内转载 2020-09-29 08:58:27 · 152 阅读 · 0 评论 -
浏览器是如何渲染页面的?
浏览器渲染原理与过程 .ZW 2020-04-18 17:29:03 96 ...转载 2020-09-27 22:32:07 · 216 阅读 · 0 评论 -
JavaScript常见案例
一.点灯开关控制:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body> <img id="light" src="img/off.g...转载 2019-12-30 10:39:21 · 207 阅读 · 0 评论 -
JavaScript知识点总结
1.JavaScript:一门客户端脚本语言2.JavaScript的组成:1、ECMAScript:基本的语法和对象 2、BOM:浏览器模型,与浏览器...转载 2019-12-30 10:14:38 · 252 阅读 · 0 评论 -
「动画演示」:变量提升别有一翻风味
「动画演示」:变量提升别有一翻风味 原创 前端小智 2019-12-24 08:13:13 作者:Lydia Hallie译者:前端小智来源:dev'提升'是 JS 开发都经常接触的一个术语,如果你刚接触 JS,可能会遇到一些奇怪的行为,其中一些变量是随机undefined,会抛出ReferenceErrors 异常等等。提升通常被解释为将变量和函数放到作用域顶部,但实际上并不是这样,尽管行为看起...转载 2019-12-27 15:10:31 · 94 阅读 · 0 评论 -
js考试题目相关
1. 我们可以在下列哪个HTML元素中放置javascript代码? A.< script > B.<javascript > C.< js > D.<scripting > ★标准答案:A 2. 预测以下代码片段的输出结果: var str alert(typeof str);&.原创 2019-12-09 11:16:29 · 8108 阅读 · 0 评论 -
第6章 面向对象 导论(javascript的面向对象)
javascript的面向对象JavaScript设计之初没有面向对象的功能设计。只有借助对象数据类型来模拟面向对象。如何使用对象这个数据类型来达到面向对象的封装,继承和多态的效果呢?面向对象的理解前面已经介绍到,面向对象的理解就是积木零件的图纸设计如图,组装这些动物的零件就是面向对象的实例化的零件图纸。那么这些零件图纸的设计要说明什么,就是类比class(类)要怎么描述。...原创 2019-11-18 23:06:45 · 193 阅读 · 0 评论 -
第6章 面向对象 导论
JavaScript要实现Java那样的面向对象的功能。JAVA面向对象三大特性详解:一、封装二、继承三、多态但设计之初就没有想过要制定相应的关键字等来实现,现在需要使用对象这个数据类型来实现这些功能。...原创 2019-11-08 12:35:13 · 176 阅读 · 0 评论 -
第6章 6.3 继承
6.3 继承继承是OO 语言中的一个最为人津津乐道的概念。许多OO 语言都支持两种继承方式:接口继承和实现继承。接口继承只继承方法签名,而实现继承则继承实际的方法。如前所述,由于函数没有签名,在ECMAScript 中无法实现接口继承。ECMAScript 只支持实现继承,而且其实现继承主要是依靠原型链来实现的。6.3.1 原型链ECMAScript 中描述了原型链的概念,并将原型链作为实现...原创 2019-11-06 09:17:29 · 176 阅读 · 0 评论 -
第6章 6.2 创建对象
6.2 创建对象虽然Object 构造函数或对象字面量都可以用来创建单个对象,但这些方式有个明显的缺点:使用同一个接口创建很多对象,会产生大量的重复代码。为解决这个问题,人们开始使用工厂模式的一种变体。6.2.1 工厂模式工厂模式是软件工程领域一种广为人知的设计模式,这种模式抽象了创建具体对象的过程(本书后面还将讨论其他设计模式及其在JavaScript 中的实现)。考虑到在ECMAScri...原创 2019-11-05 11:07:02 · 120 阅读 · 0 评论 -
第6章 6.1 理解对象
对象有属性和方法的一类事物。例:动物{属性:名字:性别:高度:方法:呼吸:吃饭:}实例化对象new操作时,按照对象的规格,在内存中建立一个具体的结构体。JS中实现面向对象一.使用对象数据类型建立假定我们把猫看成一个对象,它有"名字"和"颜色"两个属性。var Cat = {name : '',color : ''}现在,我们需要根据这个原型对象的规格(sch...原创 2019-11-01 21:40:34 · 104 阅读 · 0 评论 -
第6章 面向对象深入理解
先上图继承我一直很难理解Javascript语言的继承机制。它没有"子类"和"父类"的概念,也没有"类"(class)和"实例"(instance)的区分,全靠一种很奇特的"原型链"(prototype chain)模式,来实现继承。彻底说明白prototype对象到底是怎么回事。其实根本就没那么复杂,真相非常简单。一、从古代说起要理解Javascript的设计思想,必须从它的诞生说...原创 2019-11-01 09:32:17 · 157 阅读 · 0 评论 -
第3章 补充(图解JavaScript执行环境、作用域、闭包)
图解JavaScript执行环境、作用域、闭包首先我们要先知道有这三个概念:执行环境、作用域链、变量对象 当开始执行上面这段js代码的时候,全局执行环境进栈,执行环境带有与之关联的变量对象,代码在环境中执行时,会创建变量对象的作用域链代码执行到normal();这一行时,normal函数的执行环境被推入环境栈中。normal函数执行完之后,它的执行环境将被推出环境栈,当前环境回...原创 2019-10-28 22:12:50 · 132 阅读 · 0 评论 -
第5章 语句(2)
JavaScript for 循环基本格式for(初始化;条件;增量)语句集;功能:实现条件循环,当条件成立时,执行语句集,否则跳出循环体。说明:初始化参数告诉循环的开始位置,必须赋予变量的初值;条件:是用于判别循环停止时的条件。若条件满足,则执行循环体,否则 跳出。增量:主要定义循环控制变量在每次循环时按什么方式变化。三个主要语句之间,必须使用逗号分隔。...原创 2019-10-28 21:46:52 · 81 阅读 · 0 评论 -
第5章 语句(1)
目录JavaScript If…Else 语句JavaScript switch 语句JavaScript for 循环JavaScript while 循环JavaScript Break 和 Continue 语句JavaScript If…Else 语句条件语句用于基于不同的条件来执行不同的动作。通常在写代码时,您总是需要为不同的决定来执行不同的动作。您可以在代码中使用条...原创 2019-10-28 19:20:44 · 378 阅读 · 0 评论 -
第4章 第6节 基本包装类型
Boolean,Number,String。每当读取一个基本类型值的时候,后台就会创建一个对应的基本包装类型的对象。(1)创建String 类型的一个实例(2)在实例上调用指定的方法(3)销毁这个实例说明:引用类型与基本包装类型的主要区别就是对象的生存期。使用new创建的应用类型的实例,在执行流离开当前作用域之前都一直保存在内存中。而自动创建的基本包装类型的对象,只存在于一行代码执行的...原创 2019-10-28 10:39:25 · 125 阅读 · 0 评论 -
第4章 第7节 单体内置对象
单体内置对象:Global对象、Math对象原创 2019-10-28 10:28:52 · 113 阅读 · 0 评论 -
第4章 第5节 Function类型(存储方式)
函数是一段代码,它只定义一次,但可以被执行或调用任意次。在 JavaScript 里,函数即对象,程序可以随意操控它们。比如,可以把函数赋值给变量,或者作为参数传递给其他函数,也可以给它们设置属性,甚至调用它们的方法。如果函数挂载在一个对象上,作为对象的一个属性,就称它为对象的方法。如果函数嵌套在其他函数中定义,这样它们就可以访问它们被定义时所处的作用域中的任何变量。函数定义在 ...原创 2019-10-28 10:15:10 · 325 阅读 · 0 评论 -
第3章 第3节 闭包(JavaScript闭包和闭包面试题)
1.函数作用域<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>JavaScript闭包属性详解</title> </head><body ><div id="div1" style="height...原创 2019-10-25 00:51:19 · 283 阅读 · 0 评论 -
Javascript闭包——懂不懂由你,反正我是懂了
摘要:当你return的是内部function时,就是一个闭包。当function里嵌套function时,内部的function可以访问外部function里的变量。function foo(x) { var tmp = 3; function bar(y) { alert(x + y + (++tmp)); } bar(10);}foo(...转载 2019-10-23 15:39:58 · 260 阅读 · 0 评论 -
第3章 第3节 闭包(理解)
一、变量的作用域要理解闭包,首先必须理解Javascript特殊的变量作用域。变量的作用域无非就是两种:全局变量和局部变量。Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量。var n=999;function f1(){ alert(n);}f1(); // 999另一方面,在函数外部自然无法读取函数内的局部变量。function f1(){ ...原创 2019-10-18 15:17:19 · 158 阅读 · 0 评论 -
第4章 第4节 RegExp类型
丨字面量var reg=/\d+/g;丨构造函数var reg2=new RegExp("\d+",“g”);console.log(reg2.test(“1234444456”));//trueconsole.log(reg2.test(“asdsa”));//false修饰符i: 表示不区分大小写(case-insensitive)模式,即在确定匹配项时忽略模式与字符串...原创 2019-10-18 00:16:44 · 1660 阅读 · 0 评论 -
第4章 第3节 Date类型
一, 了解Date的使用Date类型使用使用UTC(Coordinated UniversalTime,国际协调时间)1970年1月1日午夜(零时)开始经过的毫秒数来保存日期。要创建一个日期对象,使用new操作符和Date构造函数即可如下:var now = new Date();alert(now);//如图一所示,返回的是中国标准时间在调用Date函数而不传参的情...原创 2019-10-17 23:45:42 · 186 阅读 · 0 评论 -
第4章 第2节 数组
Js基础–数组应用实例(图片切换)在前面的文章中,我们讲到了js中数组的具体操作,详见(Js对Array的各种操作总结),这里就不再做详细的讲解。今天主要的目的是如何用数组进行图片的简单左右切换。 本文中的图片切换具体步骤如下: 第1步:简单的布局并设计基本的显示样式; 第2步:通过js获取相关元素; 第3步: 通过数组进行图片url和对应文字描述的存储; ...转载 2019-10-17 22:42:00 · 205 阅读 · 0 评论 -
第4章 第1节 对象
JavaScript中一切都是对象,所以它所具有的学习内容,其他都支持。创建方式:var person = new Object();//通过object的构造函数去创建对象var person = { //通过对象字面量表示法创建 name:"张三", "age":23, 5:true //数值属性名5会自动转成字符串};var person = {}; ...原创 2019-10-17 22:30:09 · 76 阅读 · 0 评论 -
第4章 引用类型数据
引用类型数据,按前面我们对数据类型的分类理解:就是指针数据类型原创 2019-10-17 22:02:57 · 100 阅读 · 0 评论 -
第6章 面向对象
面向对象的理解面向对象:就是成立公司,类:经理这个类的属性,做事方法;会计这个类的属性,做事方法;等等这些规章制度就是类。经理new一个,马云,就是实例化一个。好处:不管什么业务来了,每个岗位按照类的定义,可以运转解决问题。坏处:每个岗位的工作流程要写清楚,至于这一次业务用得上还是用不上,甚至很多岗位这一次参与不参与都要写清楚,都要发工资养着。Java语言使用定义class类来实现,Ja...原创 2019-10-16 09:43:05 · 78 阅读 · 0 评论