js基础
文章平均质量分 56
binlety
这个作者很懒,什么都没留下…
展开
-
数组方法大全
filter():“过滤”功能,数组中的每一项运行给定函数,返回满足过滤条件组成的数组。var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];var arr2 = arr.filter(function(x, index) {return index % 3 === 0 || x >= 8;}); console.log(arr2); //[1, ...原创 2019-11-08 16:59:38 · 208 阅读 · 0 评论 -
什么是跨域?跨域请求资源的方法
1、什么是跨域?由于浏览器同源策略,凡是发送请求url的协议、域名、端口三者之间任意一与当前页面地址不同即为跨域。存在跨域的情况:网络协议不同,如http协议访问https协议。 端口不同,如80端口访问8080端口。 域名不同,如qianduanblog.com访问baidu.com。 子域名不同,如abc.qianduanblog.com访问def.qianduanblog.co...原创 2018-08-02 07:53:18 · 244 阅读 · 0 评论 -
javascript面向对象中继承实现?
面向对象的基本特征有:封闭、继承、多态。在JavaScript中实现继承的方法:1. 原型链(prototype chaining)2. call()/apply()3. 混合方式(prototype和call()/apply()结合)4. 对象冒充继承的方法如下:1、prototype原型链方式: [html] view plain copy f...原创 2018-08-02 07:55:53 · 2171 阅读 · 0 评论 -
垃圾回收机制方式及内存管理
回收机制方式1、定义和用法:垃圾回收机制(GC:Garbage Collection),执行环境负责管理代码执行过程中使用的内存。2、原理:垃圾收集器会定期(周期性)找出那些不在继续使用的变量,然后释放其内存。但是这个过程不是实时的,因为其开销比较大,所以垃圾回收器会按照固定的时间间隔周期性的执行。3、实例如下:function fn1() { var obj = {na...原创 2018-08-02 07:53:43 · 2898 阅读 · 0 评论 -
鼠标右键事件 contextmenu
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> *{原创 2018-08-07 08:14:57 · 2298 阅读 · 0 评论 -
怎么解决异步问题
命名函数清除嵌套回调的一个便捷的解决方案是简单的避免双层以上的嵌套。传递一个命名函数给作为回调参数,而不是传递匿名函数 使用promisepromise在异步执行的流程中,把执行代码和处理结果的代码清晰地分离了: promise还可以做若干个异步的任务,例:有一个异步任务,需要先做任务1,如果任务成功后再做任务2,任何任务失败则不再继续并执行错误处理函数。...原创 2018-08-03 08:22:52 · 1895 阅读 · 0 评论 -
什么是自调用函数
第一种理解是,自执行即自动执行,也就是大家平时所谓的立即执行函数。还有一种理解,即自执行函数是在函数内部执行函数本身,即我们平时常说的递归函数。(function(){}()) 外面一个括号的 是直接获取返回值里面计算一次(functuon(){})() 外面2个括号并排的是先计算前面括号的值 然后执行这个返回值 当然返回的肯定要是函数前面是包在一起整体性要好一些...原创 2018-08-03 08:21:51 · 7500 阅读 · 2 评论 -
面向过程与面向对象编程思想
1、面向过程:所有的工作都是现写现用。思维方式是分析综合。面向对象的思维方式是构造。2、面向对象:是一种编程思想,许多功能事先已经编写好了,在使用时,只需要关注功能的运用,而不需要这个功能的具体实现过程。javascript对象 将相关的变量和函数组合成一个整体,这个整体叫做对象,对象中的变量叫做属性,变量中的函数叫做方法。javascript中的对象类似字典。创建对象的方法 1、单体...原创 2018-08-03 09:14:08 · 210 阅读 · 0 评论 -
script标签中defer和async属性的区别
script标签存在两个属性,defer和async,因此script标签的使用分为三种情况: 1.<script src="example.js"></script> 没有defer或async属性,浏览器会立即加载并执行相应的脚本。也就是说在渲染script标签之后的文档之前,不等待后续加载的文档元素,读到就开始加载和执行,此举会阻塞后续文档的加载; 2....原创 2018-08-05 14:25:55 · 483 阅读 · 0 评论 -
BFC的介绍和运用
BFC的定义:BFC(Block formatting context)直译为"块级格式化上下文"。它是一个独立的渲染区域,只有Block-level box参与, 它规定了内部的Block-level Box如何布局,并且与这个区域外部毫不相干。作用:创建BFC来避免垂直外边距叠加创建BFC来清除浮动创建BFC来实现自适应布局...原创 2018-08-05 14:55:33 · 461 阅读 · 0 评论 -
apply()与call()的区别
它们各自的定义:apply:调用一个对象的一个方法,用另一个对象替换当前对象。例如:B.apply(A, arguments);即A对象应用B对象的方法。call:调用一个对象的一个方法,用另一个对象替换当前对象。例如:B.call(A, args1,args2);即A对象调用B对象的方法。它们的共同之处:都“可以用来代替另一个对象调用一个方法,将一个函数的对象上下文从初始的上下文...原创 2018-08-08 10:40:41 · 842 阅读 · 0 评论 -
js高级
var 是定义,没有的话仅仅是赋值,不要狭隘的认为就是全局以window.xxx引用全局变量,寻找不到,作为某个属性不存在,返回undefined直接返回xxx 则报错,d is not definedjs代码自上而下执行,但是在整体运行前分为词法分析(预解析)和运行期词法分析,分析3样东西:参数;变量声明;函数声明;一个函数能使用的局部变量,就从上面的3步分析而来 具体步骤...原创 2019-02-16 19:42:43 · 162 阅读 · 0 评论 -
arguments和this
他是一个类数组的对象,有length属性,不是数组,它的内容是函数运行时的实参列表 即srguments可以获取函数运行时收到的实参个数(在多态里可以用到)它收集的是‘所有’的实参,即使没有与之相对应的形参 而形参与对应的arguments单元,其实是相互映射的,互相影响arguments.callee属性代表当前运行的函数问题:匿名函数,不用callee 完成递归函数运...原创 2019-02-16 21:27:05 · 338 阅读 · 0 评论 -
懒加载原理
懒加载有图片懒加载和路由懒加载。图片懒加载原理是使用js监听图片元素是否进入可视窗口,进入之前,将图片链接设为假地址而真正的地址用自定义属性储存起来,进入之后,将src属性值替换成真正地址;优点:能防止页面一次性向服务器响应大量请求导致服务器响应慢,页面卡顿或崩溃等问题;路由懒加载:把所有代码分成几块,按需加载;按照路由跳转加载需要的代码块,同样地减少不必要的服务器请求;也可参考:htt...原创 2018-08-07 08:16:59 · 821 阅读 · 0 评论 -
JavaScript 内存机制 详情
简介每种编程语言都有它的内存管理机制,比如简单的C有低级的内存管理基元,像malloc(),free()。同样我们在学习JavaScript的时候,很有必要了解JavaScript的内存管理机制。JavaScript的内存管理机制是:内存基元在变量(对象,字符串等等)创建时分配,然后在他们不再被使用时“自动”释放。后者被称为垃圾回收。这个“自动”是混淆并给JavaScript(和其他高级语...原创 2018-07-30 07:50:19 · 330 阅读 · 0 评论 -
Javascript异常处理机制 详解
在ES3之前js代码执行的过程中,一旦出现错误,整个js代码都会停止执行,这样就显的代码非常的不健壮。 在Java或C#等一些高级语言中,都提供了异常处理机制,可以处理出现的异常,而不会停止整个应用程序。 从ES3开始,js也提供了类似的异常处理机制,从而让js代码变的更健壮,及时执行的过程中出现了异常,也可以让程序具有了一部分的异常恢复能力。一、Javascript的异常捕获机制...原创 2018-07-30 07:48:31 · 352 阅读 · 0 评论 -
几种存储方式的用法(cookie session localStorage sessionStorage)
本地存储分为cookie,以及新增的localStorage和sessionStorage1、cookie 存储在本地,容量最大4k,在同源的http请求时携带传递,损耗带宽,可设置访问路径,生命周期以毫秒计算;只有此路径及此路径的子路径才能访问此cookie,在设置的过期时间之前有效。2、localStorage 存储在本地,容量为5M或者更大,不会在请求时候携带传递,...原创 2018-08-02 07:55:05 · 593 阅读 · 0 评论 -
判断字符串中出现次数最多的那个字符,并统计次数
涉及的知识点有for循环,字符串的chatAt属性,对象的一些特征,并赋值取值的思想<script>var str = "zhaochucichuzuiduodezifu";var o = {};for (var i = 0, length = str.length; i < length; i++) {// var char = str[i];var char ...原创 2018-08-04 11:05:02 · 6684 阅读 · 1 评论 -
数组排序(升序 降序 倒排)
倒排:var a=[1,2,3,4,8,7,6];var arr=[];for(var i=a.length-1;i>=0;i--){ arr.push(a[i])} console.log(arr) 排序:冒泡排序 var arr=[1,3,44,55,64,26,78,98,51,48]; function sort(array){ ...原创 2018-08-04 10:09:12 · 16046 阅读 · 0 评论 -
ES6 新特性 set map promise
# **数组中 ** # find() 找出第一个符合条件的数组成员 没有 返回undefined findIndex()找出第一个符合条件的数组成员的下标 没有返回-1 可以发现NaN 弥补indexof的不足 rest参数 创建数组 该变量将多余的参数放入数组中 ...原创 2018-08-07 08:24:41 · 634 阅读 · 0 评论 -
什么是闭包?以及闭包的优点,缺点,用处,及特性
定义:闭包 当一个函数的返回值是另外一个函数,而返回的那个函数如果调用了其父函数内部的变量,且返回的这个函数在外部被执行 就产生了闭包.闭包是一个环境,具体指的就是外部函数--高阶函数。 说白了就是一个环境,能够读取其他函数内部的变量。 本质上,闭包是将函数内部和函数外部连接起来的桥梁。用处:1.读取函数内部的变量; 2.这些变量...原创 2018-07-31 08:25:42 · 29075 阅读 · 1 评论 -
如何阻止事件冒泡和默认(行为)事件?
1.event.stopPropagation()方法这是阻止事件的冒泡方法,不让事件向documen上蔓延,但是默认事件任然会执行,当你掉用这个方法的时候,如果点击一个连接,这个连接仍然会被打开,2.event.preventDefault()方法这是阻止默认事件的方法,调用此方法是,连接不会被打开,但是会发生冒泡,冒泡会传递到上一层的父元素;3.return false ;这个方...原创 2018-08-04 10:02:34 · 7675 阅读 · 2 评论 -
JSONP 的工作原理是什么?
1.JSONP的由来根据浏览器同源策略,所谓同源就是协议、主机、端口号都相同时成为同源。a 域的js不能直接访问 b域名的信息,但是script 标签的src属性可以跨域引用文件,jsonp是请求之后后台包装好一段json,并且把数据放在一个callback函数,返回一个js文件,动态引入这个文件,下载完成js之后,会去调用这个callback,通过这样访问数据。2. JSONP有什么用...原创 2018-08-01 07:58:50 · 2405 阅读 · 1 评论 -
string 字符串的方法
字符串的方法----------主要区分:slice() 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分(start,end)不包括结束substring() 方法用于提取字符串中介于两个指定下标之间的字符。!!!!!!(start,end)参数不接受负数,取的是区间substr()方法可在字符串中抽取从start下标开始的指定数目的字符。(start,length)s...原创 2018-08-06 08:13:43 · 287 阅读 · 0 评论 -
get和post的区别简述
1. get是从服务器上获取数据,post是向服务器传送数据。2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。3. 对于get方式,服务器端用Request.Qu...原创 2018-08-01 07:59:45 · 3001 阅读 · 0 评论 -
ajax知识归总 (原生 、封装)以及和json的区别
一、什么是AjaxAJAX即“Asynchronous Javascript And XML”( 异步 JavaScript和XML),AJAX不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的 Web 应用程序的技术。它是一套综合了多项技术的浏览器端网页开发技术。这些技术包括Javascript、XHTML和CSS、DOM、XML和XMLHttpRequest. ...原创 2018-07-29 21:19:42 · 320 阅读 · 0 评论