
javaScript基础
本参
毕业于北京信息科技大学,自学技术进入公司,后慢慢接触前后端技术。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
js循环遍历
js需要循环的对象有Array和Object以及伪数组。js循环遍历的8中方法 for while 或do while forEach for in $.each $(selector).each map every 通过对上述循环进行30万数据使用时间比较,需要运行的时间大致是for ~= do while < forEach ~= map ~= every < $.each < $(e).each < for in所.原创 2021-12-24 17:33:21 · 591 阅读 · 0 评论 -
Arguments对象
Arguments是函数内部的本地变量。包括如下属性callee 指向当前的函数的引用 length 真正传递参数的个数 arguments[index] 第index个形参 注意,arguments对象仅在函数内部有效arguments是个伪数组(具有length属性的对象{}称为伪数组),所以可以通过apply或者call借用Array对象的方法、例如 [].slice.call(arguments)function test(a, b, c) { .原创 2021-12-24 16:47:54 · 485 阅读 · 0 评论 -
JS布尔值(Boolean)转换规则
1、javaScript 5有五种基本数据类型,number 、string、boolean、null、undefined。基本数据类型对于逻辑判断条件表达式if-else、while、do while、for、三元表达式(?:)中的条件分支,undefined、null、 +0、-0、‘’(空字符串)、NaN自动转化为false。注意:所有通过构造函数返回的Boolean值都是true。即new出来的Boolean表达值都是truenew Boolean(false) // true2、对原创 2021-12-24 16:03:29 · 1618 阅读 · 0 评论 -
正则表达式使用
正则表达式是在1956年,一位叫 Stephen Kleene 的数学家在 McCulloch 和 Pitts 早期工作的基础上, 发表了一篇标题为”神经网事件的表示法”的论文, 引入的概念。随后, 发现可以将这一工作应用于使用 Ken Thompson 的计算搜索算法的一些早期研究中. 而 Ken Thompson 又是 Unix 的主要发明人. 因此半个世纪以前的Unix 中的 qed 编辑器(1966 qed编辑器问世) 成了第一个使用正则表达式的应用程序.正则表达式的定义:正则表达式是由普通字符原创 2021-12-15 17:52:49 · 136 阅读 · 0 评论 -
前端不常用但很常见的小知识
1、encodeURI和encodeURIComponent区别这两个都是用来对url进行编码的。encodeURI不会对;/?????&=+$,#字符进行转义;encodeURIComponent()函数通过字符的UTF-8编码的转义序列替换某些字符的每个实例来编码 URI 。它转化更加彻底。所以URL转义最好用encodeURIComponent。有转义就有反转义。encodeURI 对应decodeURIencodeURIComponent对应decodeURIComponent原创 2021-12-01 10:19:17 · 178 阅读 · 0 评论 -
排序算法总结
什么是稳定算法,什么是不稳定算法?稳定算法,不改变相同元素之间原有的相对位置,即不改变相同元素原来的排列顺序。不稳定算法,改变相同元素之间顺序,即1,2,10,3,10。对于10这个元素,他们原有的相对位置可能会发生变化冒泡排序冒泡排序的定义:双向冒泡排序选择排序插入排序直接插入排序折半插入排序希尔排序归并排序快速排序堆排序计数排序桶排序基数排序...原创 2021-11-11 16:00:20 · 645 阅读 · 0 评论 -
JavaScript原型和继承
var a = { "age": "18", "name": "chenxinhui", "__proto__": { "city1": "shandong1", "__proto__": { "city3": "shandong3" } }, "prototype": { "city2": "shandong2" }};var b = { "nation".原创 2021-10-22 16:33:29 · 110 阅读 · 0 评论 -
String.prototype.replace()用法总结
replace方法接受两个参数,replace(arg1,arg2);arg1是要被替换的字符串或者正则表达式arg2是替换的字符串或者函数。下面分四种情况来讨论arg1是字符串,arg2是字符串var a='hello,repalce'.replace('hello','Hello') //'Hello,repalce'arg1是字符串,arg2是函数var b='hello,repalce'.replace('repalce',function(match,p1,offset,s原创 2021-10-21 16:12:53 · 416 阅读 · 0 评论 -
Boolean 转换规则
JavaScript在es6之前,有六种数据类型number string boolean null undefined object。其中object又叫引用数据类型,其余的叫基本数据类型。判断基本数据类型用typeoftypeof 1 //'number'typeof '1' //'string'typeof false //'boolean'typeof null //'object'typeof undefined //'undefined'typeof [] //'object'原创 2021-10-21 14:13:10 · 566 阅读 · 0 评论 -
javaScript 模块化理解
JavaScript模块化是通过函数或{}来进行模块化处理的。在es6之前,没有块级作用域的概念。通过函数创建一个封闭的执行环境,通过var Module={},建立一个对象。但是通过var Module={}很容易被人改写。所以JavaScript大部分通过自执行函数,对外暴露API或者值,来进行处理。var module = (function() { var x = 12; return { "x1": "", "test": function()原创 2021-10-09 16:50:37 · 122 阅读 · 0 评论 -
JavaScript Event Loop理解
JavaScript是单线程,这里的单线程指的是只有一个主线程,主线程通过回调函数处理其他异步任务。Event Loop很多地方中文翻译成事件循环,我感觉翻译的不能准确表达JavaScript异步事件的执行逻辑。事件循环很容易让人理解成放入任务队列的事件依次循环执行。这种理解我认为是不对的。应该是放入任务队列的事件被叫号执行。任务队列的事件都是晚于同步代码块执行的。同步代码块中的代码按照顺序执行,回调函数放入异步任务队列,等待主线程的叫号。被叫到的回调函数会被立即执行。function task1()原创 2021-10-09 11:01:57 · 169 阅读 · 0 评论 -
javaScript为什么会出现this
任何计算机语言都遵循最近法则,即在最近的执行环境范围内找到所需的值,就中断查找;this是指代当前执行环境上下文,方便程序应对在多种执行环境。var x=11;var obj={ "x":12, "test":function(){ console.log(this.x); }}obj.test();//12var test1=obj.test;test1();//11obj是对象地址的引用,obj.test()执行时,里面的this指代obj这个对原创 2021-10-09 08:44:21 · 143 阅读 · 0 评论 -
XMLHttpRequest对象的简单理解
var xhr=new XMLHttpRequest();xhr.onreadystatechange=function(){ console.log(xhr.readyState) ; console.log(xhr.status); console.log("=============");};xhr.open("GET","https://www.taobao.com/",true);xhr.send()上述测试需要再淘宝的域名下,否则浏览器会因为同源策略限制报跨域错误原创 2021-09-30 16:48:41 · 253 阅读 · 0 评论 -
为什么会有0.1+0.2不等于0.3的问题
出现这个情况的根本原因是因为计算机是二进制文件处理数据,我们知道数学书数据类型有有理数、无理数、虚数。计算机只能处理二进制。所以对于无理数、分数、有限循环小数计算机是没办法进行计算处理的。即使是有理数,计算机也很难用二进制全部表示。例如有理数,小数0.1。十进制小数转成二进制小数的原理:十进制小数转换成二进制小数采用"乘2取整,顺序排列"法。具体做法是:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数 部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零.原创 2021-09-30 16:20:55 · 395 阅读 · 0 评论 -
javaScript语法var a=b=c是怎样执行的?
var a=b=c=4;首先说错误的理解:var a=4,b=4,c=4;验证:function test(){var a=b=c=4;}test();如果上述理解是正确的,执行完函数test后,在外面是读取不到a,b,c的。但是在浏览器控制台所以正确的理解应该是c=4;b=c;var a=b;var a=b=c=4;会生成全局变量b和c,局部变量a。总结:平时写代码的时候,如果不需要全局变量,就不要使用连等运算,这样容易让人产生歧义而且会引入不必要的全局变量。..原创 2021-09-30 13:56:39 · 984 阅读 · 0 评论