
js
Reilyyy
怕什么真理无穷 进一寸有进一寸的欢喜
展开
-
js中Math的常用方法
Math对象的常用方法Math.sign()取符号,负数返回-1,正数返回1。0返回0,-0返回-0。js> Math.sign(-7);-1js> Math.sign(7);1js> Math.sign(0);0js> Math.sign(-0);-0Math.abs()取绝对值js> Math.abs(-7);7js>...原创 2020-04-16 09:44:20 · 659 阅读 · 1 评论 -
indexOf方法和includes方法
indexOf方法在字符串中的应用有隐式转换let string = "apple1";console.log(string.indexOf("1"));//5console.log(string.indexOf(1));//5未检索到返回-1可以传入第二个参数,表示在字符串中开始检索的位置。返回检索位置开始指定字符第一次出现的位置在数组中的应用没有隐式转换let ...原创 2020-04-14 12:27:22 · 750 阅读 · 0 评论 -
js实现基本排序算法(二)
选择排序选择排序,就是在一个无序数组中,一个指针i遍历从前到后所有的数组元素的下标,一个指针j在当前下标后面的位置中找到最应该放到i位置的元素,然后两两交换。 //选择排序 // 在各种情况下复杂度波动小,因此一般是优于冒泡排序 时间复杂度 O(n*n) var arr = [3,2,5,8,4,7,9,6,1]; function s...原创 2020-04-08 21:39:53 · 560 阅读 · 0 评论 -
js实现基本排序算法(一)
冒泡排序冒泡排序就是通过一轮又一轮两两之间的比较,将大数放到数组的最后,第一轮排好最大数,第二轮次大数,以此类推,当哪一轮没有交换就可以判断为已经排好(以此为依据设置标记,减少排序的时间)。 //冒泡排序 //稳定性:稳定 空间复杂度: O(n) 时间复杂度:O(n*n) //适合基本有序的数组 基本操作:每趟找到最大的放到后面 var ...原创 2020-04-07 19:00:32 · 324 阅读 · 0 评论 -
js中的闭包
闭包根据作用域链的特性可知,子作用域中可以访问到父级作用域中的变量,但是子作用域中的变量对父作用域则是不可见的。例如:function father()中 包含了 function son()。而闭包的应用场景是:在function father()外,如全局作用域中,想访问function father()中的变量,这根据作用域链的规则是不可以的,但是 function son()可以访问f...原创 2020-04-03 16:02:19 · 179 阅读 · 0 评论 -
js的变量提升(预解析)
变量对象的创建过程是在当前执行上下文创建的时候;而变量的赋值是在当前执行上下文执行的时候。虽然我们常常在声明的同时赋值,但是声明和赋值并不是同一时间发生的,所以会出现变量提升的情况。变量提升变量提升是指,在变量对象创建的过程中经历了如下过程:建立arguments对象。检查当前上下文中的参数,建立该对象下的属性与属性值。检查当前执行上下文中的函数声明,即function关键字声明的,在变...原创 2020-04-01 20:55:27 · 265 阅读 · 0 评论 -
js的执行上下文
js的执行上下文js整个的代码执行的过程如下图在执行阶段创建执行上下文,执行上下文可以理解为当前执行的这段代码的执行环境,执行上下文分为三种:Global Code、Function Code 和 Eval Code。所有的执行上下文都会被放入执行上下文栈中,最先入栈的是全局上下文,栈顶永远是当前的执行上下文,执行完毕就出栈,全局上下文最后出栈,如果函数上下文中遇到return可以直接终结当...原创 2020-03-31 13:21:41 · 213 阅读 · 0 评论 -
js中的数组遍历
数组的遍历参考文章for循环var arr = [4,2,5,8,9];arr["a"] = 10;arr[7] = 7;for(let i=0;i<arr.length;i++)//for遍历 根据下标遍历 可以遍历空元素 但是不可以遍历非数字的下标{ console.log(i,arr[i]);} console.log(arr.length);...原创 2020-03-25 19:17:30 · 204 阅读 · 0 评论 -
js数组的基本操作
数组的声明字面量声明var a = [1,2,3];构造函数声明var b = new Array(7);var c = new Array(6,7,8);使用构造函数可以声明指定长度的数组,构造函数的参数有一个且为数字时会理解为数组的长度,多个时理解为数组的内容。推荐使用字面量的声明方式。length属性可以查看数组长度,可以通过改变length属性的值来改变数组的长度...原创 2020-03-24 20:39:53 · 201 阅读 · 0 评论 -
js的数据类型
基本数据类型基本数据类型的数据都存放在栈区,是值不可变的,当我们改变一个基本类型的数据时,只是创建了一个新的数据,并移动了指针而已,原来的数据仍然存在,由垃圾回收机制回收。用A变量给B变量赋值时,只是复制了一份给B变量,A变量并没有改变,因此改变B变量并不影响A变量。(涉及深拷贝浅拷贝的问题)Number不区分整数还是浮点型,但是一般不会判断两个浮点数是否相等。可以是十进制(0-9)、八...原创 2020-03-17 20:31:30 · 144 阅读 · 0 评论 -
js中的原型与原型链
面向对象、面向过程和构造函数面向对象:把数据和对数据的操作方法放在一起,构成一个相互依存的整体,对象和对象之间可以通信,程序流程由用户在使用中确定。面向过程:自顶向下执行,程序结构按照功能划分成各个基本的模块,程序的流程在写程序时已经确定。在js中创建对象有两种办法,对象字面量和使用new表达式,在使用new表达式创建对象时就使用到了构造函数。一个函数作为构造函数和普通函数返回值是不同的。...原创 2020-03-16 19:50:37 · 373 阅读 · 0 评论 -
cookie(学习笔记)
之前对于保持登录态这个问题,一直比较疑惑,自己也没有实现过,看了这篇文章之后好像明白了什么,聊一聊cookie所以看完以后自己为了熟记,有了这篇学习笔记。cookie的工作过程cookie是浏览器提供的功能,可以存储字符串,cookie以域名的方式区分的,每一个域名下最多可以有20个(实际不止),每个cookie大小有限。每次发送http请求时,浏览器会查看是否有相应的cookie,有的话就...原创 2020-03-15 17:34:06 · 277 阅读 · 1 评论 -
js获取select选中项的文本
在前后端交互的时候遇到了这个问题,要获取选中项的文本当做参数给后台发请求,也百度了一些方法,但是都是千篇一律的,我也试了都没有,最后自己乱写搞出来了,虽然也不知道搞得对不对,但是能用就行。<body> <select id="coach"> <option>医疗</option> <option>...原创 2020-02-25 20:24:42 · 1775 阅读 · 0 评论 -
前后端交互:ajax请求成功,但是一直进error函数(bui框架)
前后端数据类型不匹配我使用的是bui框架,是一个ui框架,有封装的bui.ajax,默认接收后端的类型为json,可以在全局改。bui.config.ajax={ dataType : "text"}但是这种方法要自己将bui.ajax封装好,这样自己改才能保证框架是正确的。所以最后是后端改的,将返回的类型改成了json格式。...原创 2020-02-22 14:35:30 · 495 阅读 · 1 评论 -
前后端交互:日期数据类型
日期数据类型问题在和后端交互的时候遇到了日期数据类型问题导致ajax请求失败的问题解决问题时,借鉴了csdn上的这篇文章http://blog.youkuaiyun.com/tomcat_2014/article/details/50514979我遇到的具体问题是注册页面有生日这一项,后台给的参数类型是date,前端使用input的date属性,虽然使用date属性可以直接选年月日,并且打印出来的格式...原创 2020-02-22 14:03:12 · 890 阅读 · 0 评论 -
js垃圾回收机制
垃圾回收js中的内存管理是自动执行的,而且是不可见的。当创建的基本类型、对象、函数…不再被需要时,js引擎发现并清除他们的过程就叫做垃圾回收。可达性js内存管理的主要概念是可达性,简单地说,“可达性” 值就是那些以某种方式可访问或可用的值,它们被保证存储在内存中。有一组固有的可达值,他们显而易见存在于内存中,如:全局变量,局部变量、函数形参。他们被称为根,如果引用或引用链可以从根访问任何其...原创 2019-09-04 10:48:19 · 155 阅读 · 0 评论