![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaScript
索索索
学习永无止境
展开
-
字符串的方法
字符串的方法1.var str = ’ nihao’;//定义一个字符串,字面量方法2.str.length; //获取字符串的长度3.str.charAt() 返回下标处字符 //参数:下标如果不传值默认值为"0",当传入的下标超出字符串长度时返回"null"4.str.charCodeAt() 返回下标处字符的Unicode编码值 //参数:下标5.String.fro...原创 2019-08-03 12:57:26 · 215 阅读 · 0 评论 -
封装bind
bind作用:改变this指向,返回一个函数;调用这个方法之后,让this指向传入的第一个参数,并不会直接执行函数只是改变this指向,需要手动调用执行call和apply是改变this指向后直接自动执行函数无参数Function.prototype.bind1=function(obj){ var that=this; return function(){ ...原创 2019-09-18 21:32:23 · 140 阅读 · 0 评论 -
判断数据类型方法封装
function type(target){ var ret=typeof(target); if(ret=="object"){ var str=Object.prototype.toString.call(target); return str; } else{ ...原创 2019-09-03 23:33:16 · 181 阅读 · 0 评论 -
for in 和 for of
for in循环的是key,可以遍历自定义属性for of循环得到value,for of不能遍历普通对象,不会遍历自定义属性的值,遍历的是iterable类型(Array,Map,Set),如果非要使用for of遍历普通对象可以搭配Object.keys()遍历,遍历得到key var arr=[1,2,3,4]; var obj={ "a":1, ...原创 2019-08-28 15:13:36 · 84 阅读 · 0 评论 -
函数节流和防抖
函数节流原理对于连续触发的事件,我们通过设置一个定时器,让其在过了特定时间t1后触发,如果在t1时间内再次触发了该事件,则清除上一次计时器,重新计时,等待新计时时间的到来函数防抖原理函数防抖是在函数节流的基础上,每隔固定的时间,不管定时器触发没触发,都会执行一遍自定义函数。总结函数防抖的合理应用能够帮助我们充分节省cpu,内存等资源,同时又通过一定的时延间隔去执行自定义函数,在一些频...原创 2019-08-28 15:10:27 · 70 阅读 · 0 评论 -
new方式调用构造函数的步骤
1.创建一个新对象。2.将构造函数的作用域赋给新对象(this指向这个新对象)3.执行构造函数中的代码(为这个新对象添加属性)4.返回新对象原创 2019-08-20 02:26:38 · 1318 阅读 · 0 评论 -
继承
原型链继承:缺点:1、因为来自原型对象的引用属性是所有实例共享的;2、创建子类实例时,无法向父类构造函数传参借用构造函数:优点:1、解决了子类实例共享父类引用属性的问题;2、创建子类实例时,可以向父类构造函数传参缺点:无法实现函数复用,每个子类实例都持有一个新的fun函数,太多了就会影响性能。组合继承(最常用):优点:1、不存在引用属性共享问题;2、可传参;3、函数可复...原创 2019-08-20 02:21:24 · 115 阅读 · 0 评论 -
数组的forEach和map方法
1.数组的forEach方法:对数组的每一项调用传入的函数方法,无返回值,本质上与使用for循环迭代数组一样2.数组的map方法:对数组的每一项调用传入的函数方法,返回一个新的数组,对原数组没有任何影响...原创 2019-08-20 02:19:48 · 194 阅读 · 0 评论 -
输入url之后的事
输入url之后的事DNS查询TCP连接HTTP请求及响应服务器响应浏览器渲染浏览器渲染的过程:1.浏览器拿到HTML代码2.开始解析html文档,从上到下,边解析,边生成DOM树。3.当遇到css样式或者css外部样式文件,此时浏览器先向服务器发送请求,下载css文件,边下载边继续解析html,下载css完后生成CSSOM树。(加载图片资源时,不必等图片加载完毕,边加载边继续...原创 2019-08-20 02:16:42 · 78 阅读 · 0 评论 -
作用域
域:空间、范围、区域。如:js必须放在script里,css放在style里,它的作用就是(在一个范围内)读和写浏览器有读js的解析器,当进入script标签后:第1步–预解析:找到全局的var和function(变量提升),先检查function函数名和内容并储存,当发现重名时,后面的函数覆盖前面的函数;再检查var变量的值并设置undefind,但是发现重名时会自动跳过(包括变量名与函...原创 2019-08-03 22:58:32 · 180 阅读 · 0 评论 -
前端常用的输出方式
前端常用的输出方式document.write("hello world"); // //获得文档窗口并在其中写入"Hello, world!"alert("hello world"); //弹出一个确认框,里面显示"hello world"console.log("hello world"); //在控制台打印"hello world"换行方法 document.write...原创 2019-08-03 21:09:11 · 3318 阅读 · 0 评论 -
数字类型
1.Number()方法,如var s = "100";alert(Number(s)+100); //200注意:Number()会尽可能的将传入的值整体转换成数字。其转换规则为:字符串的""(空)和" "(空格)都会转换成0 布尔值的true和false会变成1和0 空对象null会变成0非空字符串、函数、json、undefined(未定义)和其他对象会变成NaN(not a...原创 2019-08-03 20:31:06 · 168 阅读 · 0 评论 -
数据类型转换的注意事项
1.不要用new Number()/Boolean()/String()等构造函数实例化的方式去创建包装对象,因为这样创建出来的是object类型2.判断Array使用Array.isArray(arr)3.判断null请使用myVar === null4.number对象(非变量)调用toString()报SyntaxError:123.toString(); // 报SyntaxErr...原创 2019-08-03 20:20:06 · 171 阅读 · 0 评论 -
JSON和对象操作
json的语法: var json = {"name" : "cromwell", "age" : 50};“:“前面是属性名,后面是数据格式(可以是任何格式),用json.name即可输出该属性的值。注意:定义的属性名称在严格模式下必须使用””;json[]调用数据的时候和对象的属性写法相同即:json["name"]; //获取json属性name的值json.name ...原创 2019-08-03 19:26:44 · 462 阅读 · 0 评论 -
相等操作符遵循的规则
****在转换不同的数据类型时,相等操作符和不相等操作符遵循下列基本规则:1.如果有一个操作数是布尔值,在比较相等性之前先将其转换为数值;2.如果一个操作数值字符串另一个操作数是数值,在比较相等性之前先将字符串转换为数值;3.如果一个操作数是对象另一个操作数不是,则调用操作数的valueof()方法,用得到的基本类型值按照前面的规则进行比较;4.这两个操作符在比较时遵循下列规则:null...原创 2019-08-03 16:01:48 · 127 阅读 · 0 评论 -
javaScript基本概念
1.区分大小写2.标识符:指变量,函数,属性的名字,或者函数的参数第一个字符必须是字母,下划线,美元符号其他字符可以是数字,字母,下划线,美元符号采用驼峰大小写格式,第一个字母小写剩下每个单词首字母大写关键字,保留字,true,false,null不能做标识符3.注释//单行注释/**/多行注释4.严格模式“use strict”5.语句以“;”结尾6.变量定义用var操...原创 2019-08-03 15:46:01 · 101 阅读 · 0 评论 -
数组方法
数组方法var arr = [1,2,3];//字面量写法,推荐这种写法var arr = new Array(1,2,3)//构造函数实例写法构造函数实例写法在参数只有一个且是数字它会理解为长度,是字符串它会理解为内容,所以用推荐第一种写法2.如果定义后的数组重新定义长度,那么数组会变成新的长度,多余的数据舍去,增多的数据为空。例如我们要快速清空一个数组,可以把数组长度设置为0或...原创 2019-08-03 13:39:59 · 79 阅读 · 0 评论 -
深拷贝
function clone(obj){ if(typeof obj!="object"){ return obj }else{ if(obj==null){ return obj }else{ var newObj=Array.i...原创 2019-09-18 23:18:44 · 76 阅读 · 0 评论