03 2022 档案

摘要:包装对象 存取字符串、数字或布尔值的属性时,创建的临时对象称为包装对象。 这三个的包装对象分别为: String('字符'); Number(数字); Boolean(布尔值); 作用:基本数据类型也可以使用.调用方法 概念:数值、字符串、布尔值分别相对应的Number、String、Boolean 阅读全文
posted @ 2022-03-25 21:51 听风小弟 阅读(81) 评论(0) 推荐(0)
摘要:数据类型分类 数据类型分为两大类:基本数据类型 & 引用数据类型(对象数据类型) 利用Object.prototype.toString判断数据类型 对象在创建之时,会用内部属性[[Class]]记录对象创建时的类型,而且这个内部属性无法被外部程序访问,这意味着它很安全,Object.prototy 阅读全文
posted @ 2022-03-25 21:34 听风小弟 阅读(69) 评论(0) 推荐(1)
摘要:堆和栈的概念 数据结构的两种,专门用来解决数据的存储和读取 内存:栈内存和堆内存(其它语言),js当中只有堆内存(堆内存又分为栈结构和堆结构,我们相当于用的栈结构和堆结构) ​ 栈内存比较小,但是快 ​ 堆内存比较大,但是慢 拓展: 队列结构 先进先出 管状结构 ​ 栈:栈的数据结构 FILO先进后 阅读全文
posted @ 2022-03-25 21:09 听风小弟 阅读(137) 评论(0) 推荐(0)
摘要:变量是什么 变量: 在程序运行过程中,可以随时发生变化的量,我们称为变量; 变量定义的过程 var a = 10; 本质就是在栈内存当中开辟一块内存,起名字叫a,然后把10存储到a这块内存当中; 变量的命名规范(组成,大驼峰,小驼峰,下划线) 变量用标识符命名 是一个规则,用来规范变量名; 1、以数 阅读全文
posted @ 2022-03-25 20:30 听风小弟 阅读(68) 评论(0) 推荐(0)
摘要:JavaScript简介 JavaScript是跨平台、解释型、脚本语言 跨平台:就是在很多操作系统中都可以运行; 解释型语言:程序运行的时候,不会编译,拿一行解释,执行一行;(javascript python ruby) 脚本语言:可以嵌在其他编程语言中运行。 浏览器支持 ​ IE 9+ ​ C 阅读全文
posted @ 2022-03-25 20:21 听风小弟 阅读(276) 评论(0) 推荐(0)
摘要:作用域 每个函数都是一个对象,对象中有些属性可以被我们访问,比如name,有些属性仅供js引擎存取,[[Scope]]就是其中一个,由ES3定义, 上下文又叫环境 什么是执行上下文 执行上下文是ECMAScript规范中用来描述 JavaScript 代码执行的抽象概念,规定了当前代码执行的环境(当 阅读全文
posted @ 2022-03-25 20:11 听风小弟 阅读(80) 评论(0) 推荐(0)
摘要:原型链 显示原型与隐式原型 显示原型prototype 隐式原型[[prototype]] (__proto__已被弃用,现在用[[prototype]]代替) 原型链 当访问一个对象的某个属性时,会先在这个对象本身属性上查找,如果没有找到,则会去它的[[prototype]]隐式原型上查找,即它的 阅读全文
posted @ 2022-03-25 20:08 听风小弟 阅读(43) 评论(0) 推荐(0)
摘要:this绑定优先级 显式绑定 > 隐式绑定 > 默认绑定 new绑定 > 隐式绑定 > 默认绑定 this默认绑定 this默认绑定我们可以理解为函数调用时无任何调用前缀的情景,它无法应对我们后面要介绍的另外四种情况,所以称之为默认绑定, 1.默认绑定时this指向全局对象(非严格模式): func 阅读全文
posted @ 2022-03-25 19:32 听风小弟 阅读(40) 评论(0) 推荐(0)
摘要:// 封装一个函数,拷贝传入的数据 function deepClone(data) { if ((typeof data != "object" && typeof data != "function") || data null) { // 把基本数据类型过滤出来 return data; } 阅读全文
posted @ 2022-03-25 10:01 听风小弟 阅读(39) 评论(0) 推荐(1)
摘要:语句结构分类: 顺序结构 js默认由上至下执行 分支结构 js会根据条件的判断,决定是否执行某段代码 循环结构 js会根据条件的判断,反复的执行某段代码 分支语句 单分支 if后面()当中计算出来的最终一定是布尔值; f执行过程: ​ 1. 先计算小括号当中的值 ​ 2. 根据小括号当中的值,转化为 阅读全文
posted @ 2022-03-25 08:46 听风小弟 阅读(102) 评论(0) 推荐(0)
摘要:三种括号的区别 () 是为了提取匹配字符串的,表达式中有几个()就有几个相应的匹配字符串。(\s*)表示连续空格的字符串 [] 是定义匹配的字符范围。比如[a-zA-Z0-9]表示相应位置的字符要匹配英文字符和数字。[\s*] 表示空格或者*号 {}一般是用来匹配的长度。比如\s{3}表示匹配三个空 阅读全文
posted @ 2022-03-25 08:39 听风小弟 阅读(86) 评论(0) 推荐(0)
摘要:表达式中变量求值规则 无论结合性和优先级如何,求值顺序总是从左到右。 运算符优先级 . () [] new ?. fn() +... -... 前置递增递减 / % + - && || 三元表达式 = , 运算符比较注意: 基本包装类型会先转成包装对象再进行比较 因为引用数据类型和基本包装类型(Nu 阅读全文
posted @ 2022-03-24 16:54 听风小弟 阅读(388) 评论(1) 推荐(0)
摘要:let str='a-b-c'; String.prototype.Up=function(){ //将要替换的字符串赋值给str; let str=this; for(var i=0;i<str.length;i++){ //检测'-'出现的下标 let index=str.indexOf('-' 阅读全文
posted @ 2022-03-24 15:20 听风小弟 阅读(307) 评论(0) 推荐(0)
摘要:let arr=[1,2,3,4,5]; //在数组显示原型上定义自定义方法 Array.prototype.newMap=function(func){ //定义新数组用来接收回调函数返回值 let arr=[]; //for循环遍历数组 for(let i=0;i<this.length;i++ 阅读全文
posted @ 2022-03-24 14:48 听风小弟 阅读(39) 评论(0) 推荐(0)
摘要:new 关键字法 let a=1,b=2,c=3; function fn(a,b,c){ } function new1(fn,...str){ //1.创建一个空的简单JavaScript对象(即`{}`) let obj={}; //2.为步骤1新创建的对象添加属性`__proto__`,将该 阅读全文
posted @ 2022-03-24 14:45 听风小弟 阅读(58) 评论(0) 推荐(0)
摘要:let arr=[1,2,4,5,3]; Array.prototype.NewSort=function(func){ var flag; for(var i=0;i<this.length-1;i++){ for(var j=1;j<this.length-i;j++){ flag=func(t 阅读全文
posted @ 2022-03-24 14:40 听风小弟 阅读(54) 评论(0) 推荐(0)
摘要:函数的天生属性length 函数的length等于行参的个数 function fn(a,b,c,d,e){} console.log(fn.length) //5 函数执行过程 为函数创建一个执行环境 复制函数的 [[scopes]] 属性中的对象构建起执行环境的作用链域 创建函数活跃对象并推入执 阅读全文
posted @ 2022-03-23 09:05 听风小弟 阅读(47) 评论(0) 推荐(0)