![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
js
yukamilo
这个作者很懒,什么都没留下…
展开
-
js倒计时
<h1 id="show">仅剩<span></span>:<span></span>:<span></span></h1><script> // var show = document.getElementById("show").getElementsByTagName("span"); var show = document.queryS...原创 2020-07-16 19:34:37 · 130 阅读 · 0 评论 -
数组的迭代选择器
ES5为数组对象定义了5个迭代方法(即递归,简单的说就是自己可以调用自己)。每个方法接收两个参数:要在每一项上运行的函数(接收3个参数:数组项的值,该项在数组中的位置,数组对象本身)和(可选的)运行该函数的作用域对象——影响this的值。以下是这5个迭代方法的作用:every()对数组中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true ;filter()对数组中的每一项运行给定函数,返回该函数会返回true的项组成的数组 ;forEach()对数组中的每一项运行给定函数,这个原创 2020-07-13 20:04:28 · 383 阅读 · 0 评论 -
作用域与执行上下文的区别
区别1:全局作用域之外,每个函数都会创建自己的作用域,作用域在函数定义时就已经确定了。而不是在函数调用时全局执行上下文环境是在全局作用域确定之后, js代码马上执行之前创建函数执行上下文是在调用函数时, 函数体代码执行之前创建区别2:作用域是静态的, 只要函数定义好了就一直存在, 且不会再变化执行上下文是动态的, 调用函数时创建, 函数调用结束时就会自动释放联系:执行上下文(对象)是从属于所在的作用域全局上下文环境==>全局作用域函数上下文环境==>对应的函数使用域...原创 2020-07-06 19:52:56 · 454 阅读 · 0 评论 -
闭包,作用域,作用域链,内存的关系
闭包,作用域,作用域链,内存的关系闭包就是函数中return返回一个人函数,其优点是可以从外部访问内部函数的变量,保护内部函数不被污染。缺点是变量不能释放导致内存泄漏。外部变量可以访问内部变量是因为闭包形成是产生了一个作用域链,外部变量可以通过作用域链找到内部变量。因为外部变量需要引用内部变量,所以AO里的变量不会销毁,而是一直存在内存里。使用过多的闭包就会导致内存泄漏,但我们可以通过Js的垃圾回收机制去销毁内存的值。找到引用完内部函数的变量。给他赋值为null。这样函数就没有被调用,AO里的数据会被销毁原创 2020-07-03 22:01:13 · 204 阅读 · 0 评论 -
原型
prototype 原型属性:是函数特有的–》可以给构造函数的圆形对象 ;廷加api 或者静态b proto 原型对象。js中任何对象都有原型对象–》【构造函数f】中【原型对象a】下api,可以被new 的实力【对象b】直接访问,改变对象 也是new实例–>a同时也是构造函数的原形对象f是b的构造函数–>b的原型对象为a b的 proto 为A f.prototype = a function Animal(){ th.spical = '动物原创 2020-07-03 19:38:16 · 125 阅读 · 0 评论 -
对象分类
函数对象 function foo(){} var bar = new Function() var foo1 = function(){}普通对象:原型对象,构造对象… var obj =new Object(); var f = new foo()函数对象有prtotype ------>函数对象的原型对象普通对象没有prototype 只有 proto 属性 -------->普通对象的原形对象Function的原型对象为函数对象原创 2020-07-03 19:35:55 · 592 阅读 · 0 评论 -
不一样的深拷贝
var data = [{name:‘ya’,list:[{name:‘dddd’}]}]JSON 是对象 作用处理json格式的数据 其实就是数组和对象JSON.stringify 将数据或者对象,变为 json 字符串 并【返回字符串】var dataStr = JSON.stringify(data)console.log(dataStr)console.log(typeof dataStr)console.log(dataStr.slice) JSON.parse()原创 2020-07-03 19:30:38 · 86 阅读 · 0 评论 -
函数总结
语句条件语句1: if else应用:在不同条件下输出不同结果时候。 难点【如何根据条件写表达式】代码块中变量 是【全局变量】如果执行满足一个条件的代码块。其他条件下代码块不会执行if() () 必须是 【true】才能执行 if 中代码框。 【true来’源】1 直接 true 2:表达式返回值 3:直接使用变量,变量的值【转化】为布尔类型2:三元运算符? 左边 【条件】? 右边 中间 满足条件的 if 语句:右边 else 语句: 右边 如果为条件 则是 else i原创 2020-07-03 19:28:42 · 107 阅读 · 0 评论 -
this原理
原理一 与函数调用结合 当一个函数在执行的时候:会创建一个上下文对象,会产生局部作用域 上下文对象中,函数是被谁调用的;在哪调用的;参数是什么等信息 this 就是记录一个属性 :在函数被调用时候产生 函数调用有几种方式 new 对象调用 事件调用 call,apply或bind原理二:结合作用域看this 问题:为什么return 返回 伪对象 数组 函数 this就不指向new 实例化的对象 原理:函数在执行时候会创建原创 2020-07-03 19:26:12 · 122 阅读 · 0 评论 -
闭包
function foo(){var num = 0;return function(){num++console.log(‘闭包’)}}闭包什么是闭包? 闭包的优点 缺点函数中return返回一个函数优点:外部函数可以访问内部函数的变量缺点;变量不能释放导致内存泄漏怎么实现外部访问内部;存a函数指针,实际上还是a访问f00变量 foo执行一次;形成一个闭包;闭包之间互不干扰 因为foo 每次执行胡初始化AO 对象 多个AO 多个地址...原创 2020-07-03 19:24:09 · 77 阅读 · 0 评论 -
计时器
计时器 setInterval() 每隔多少秒执行一次 回调函数 无限循环的执行 出口: var x = 0; var timer = setInterval(function () { x++; console.log(x) if(x>3){ clearInterval(timer); } 清空计时器,如果不清空,导致页面性能下降for原创 2020-07-03 19:19:51 · 169 阅读 · 0 评论 -
js数组去重
var arr = [1,2,2,3,4,4,5,6];var res = []//保证res中数据不是重复的var flag = false //表示res中是否有这个数据for(var i = 0;i<arr.length;i++){//让arr中每一项与res中比较,然后填加不重复的数据for(var j = 0; j<=res.length;j++){if(arr[i]!==res[j]){res.push(arr[i])}if(arr[i]==res[j]){fla原创 2020-07-03 19:16:29 · 56 阅读 · 0 评论 -
回调地狱
function foo(callback1){console.log(‘foo’)callback(function(callbcak3){console.log(‘callBack的回调函数’)})}foo(function(callBack2){console.log(‘foo的回调函数’)callBack()})1.回调函数本来就是异步程序2.回调地狱:最难的就是不知道 方法体中 callback执行时哪一个程序3.console,log(callback)看一下执行到底是原创 2020-07-03 19:13:32 · 74 阅读 · 0 评论