JS
泠泠在路上
90后爱好阅读的小城程序员女孩,专注于个人成长、技术分享,去更远的地方,见更亮的光!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
前端面试之js 中常见的深拷贝的方法
前端小伙伴们在面试的时候,经常会遇到问JS深拷贝的知识点,如果没看过这个知识点就比较尴尬啦~所以特地写这篇博客,也算是给自己积累一些知识点。目前有5种经常提到的深拷贝的方法:1、通过 JSON 对象实现深拷贝this.data = JSON.parse(JSON.stringify(this.vm.$store.state.security.menuArr))或function deepClone(data) { let _data = JSON.stringify(data),原创 2020-09-23 18:48:37 · 1616 阅读 · 0 评论 -
什么是正则表达式?在JavaScript中,如何应用正则表达式?
正则表达式(Regular Expression) 本身就是一个字符串,由一些普通字符和特殊字符组成的,用以描述一种特定的字符规则的表达式。正则表达式常用于在一段文本中搜索、匹配或替换特定形式的文本。如:词语出现频率统计、验证字符串是否符合邮箱格式、屏蔽一篇帖子中的限制性词语等。许多程序设计语言都支持利用正则表达式进行字符串操作。在 JavaScript 中,正则表达式的应用分为两种: 1、结合原创 2016-12-29 17:09:59 · 1064 阅读 · 0 评论 -
简要描述 JavaScript 中的匿名函数
匿名函数是指在定义时没有指定名字的函数,且定义后往往直接调用。如:function(num1, num2){ console.log( num1 + num2 );}这种方式所定义的匿名函数,往往需要直接调用,如: (function (num1, num2) { console.log(num1 + num2); })(10,20);匿名函数常用于定义不需要重复使原创 2016-12-29 17:14:01 · 404 阅读 · 0 评论 -
简要描述 JavaScript 中的作用域链
任何一段JavaScript代码都对应一个作用域链,作用域链中存放一系列对象,代码中声明的变量将作为对象的属性存放。在JavaScript的顶层代码中,作用域链由一个全局对象组成;当定义一个函数时,它保存一个作用域链,作用域链上有两个对象,一个是函数对象,一个是全局对象。每当一个函数被调用时,会创建一个活动对象(也叫上下文对象),函数中的局部变量将作为该对象的属性存放。当需要使用一个变量时,将从作用原创 2016-12-29 17:18:35 · 872 阅读 · 0 评论 -
简要描述对闭包的理解
函数对象可以通过作用域链相互关联起来,函数体内部的变量都可以保存在函数作用域内,这种特性称为闭包。这意味着函数变量可以隐藏于作用域链之内,看起来好像是函数将变量包裹了起来。这种方式常用于共享函数内的私有变量。 闭包有如下应用特征:1、局部变量:在函数中定义有共享意义(如:缓存、计数器等)的局部变量(注:定义成全局变量会对外造成污染);2、内嵌函数:在函数中声明有内嵌函数,内嵌函数对函数中的局部变量原创 2016-12-29 17:28:41 · 920 阅读 · 0 评论 -
javascript内置函数是什么
js内置函数是浏览器内核自带的,不用任何函数库引入就可以直接使用的函数。javascript内置函数一共可分为五类: 1、常规函数 2、数组函数 3、日期函数 4、数学函数 5、字符串函数第一类:常规函数 包括以下9个函数: (1)alert函数:显示一个警告对话框,包括一个OK按钮。 (2)confirm函数:显示一个确认对话框,包括OK、Cancel按钮。 (3)转载 2016-12-30 12:46:04 · 4597 阅读 · 2 评论 -
实现网站的响应式轮播图
首先,得前人经验,借助插件实现轮播,不必吭哧吭哧绞尽脑计想逻辑,只需调属性即可,那么 怎么样来挑选第三方组件: 1.使用人数 以免踩坑 2.是否开源 3.文档是否齐全 使用帮助 4.活跃性 积极维护 5.小巧够用即可(轻量级)这里选择OwlCarousel2(其实选啥看自己兴趣,大同小异)<link rel="stylesheet" href="owlcarouse原创 2017-03-06 22:52:32 · 5265 阅读 · 0 评论 -
整理正则表达式
^ 控制开头 $ 控制结尾 \ 转义序列 \n 新行 \r 回车 \t 制表符[a-z] //匹配所有的小写字母 [A-Z] //匹配所有的大写字母 [a-zA-Z] //匹配所有的字母 [0-9] //匹配所有的数字 [0-9\.\-] //匹配所有的数字,句号和减号 [ \f\r\t\n] //匹配所有的白字符前面曾经提到^表示字符串的开头,但它还有另外一个原创 2017-06-16 11:20:09 · 460 阅读 · 0 评论 -
常用的正则表达式
一、校验数字的表达式数字:^[0-9]*$n位的数字:^\d{n}$至少n位的数字:^\d{n,}$m-n位的数字:^\d{m,n}$零和非零开头的数字:^(0|[1-9][0-9]*)$非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?$正数、负数、和小数:^(\-|\+)原创 2017-06-16 12:37:57 · 340 阅读 · 0 评论 -
网页编程零框架解决方案
由于网页编程不同于客户端编程,在MVC的基础上,JavaScript社区产生了各种变体框架MVP(Model-View-Presenter)、MVVM(Model-View-ViewModel)等等,有人就把所有这一类框架的各种模式统称为MV*。框架的优点在于合理组织代码、便于团队合作和未来的维护,缺点在于有一定的学习成本,且限制你只能采取它的写法。MVC框架(尤其是大型框架)有一个严重的缺点,就是转载 2017-06-14 13:49:17 · 642 阅读 · 0 评论 -
javascript面向对象整理
面向对象:1. 一切事物皆是对象 2. 对象具有封装和继承特性3. 信息隐藏,(类,属性,方法的隐藏)一、基本面向对象直接定义对象://定义var person={name:"泠泠在路上",age:22eat:function(){alert('能吃');}}//调用alert(person.name);二、函数构造器构造对象构造器构造对象//定义functio原创 2017-06-15 13:51:40 · 340 阅读 · 0 评论 -
前端在验证输入时常用的工具库正则表达式和方法
/*手机号*/export function validateTel(tel) { var TEL_REGEXP =/^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\d{8}$/ if(TEL_REGEXP.test(tel)){ return true; } return false;} /*邮箱...原创 2019-03-07 10:30:35 · 399 阅读 · 0 评论 -
什么是栈?在 JavaScript 中,如何模拟栈操作?
栈(stack)是一种运算受限的线性表,其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对的把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。在 JavaScript 中,可以使用数组及其相关操作来模拟栈操作。首先,使用数组存储一列元原创 2016-12-29 17:05:38 · 1064 阅读 · 0 评论 -
读代码,写结果
写出下列代码的输出结果: var arr1 = [10, 20]; arr1.push(30); arr1.push([40, 50]); var data = arr1.pop(); console.log(data); 上述代码的输出结果为 [40, 50]。 数组的方法 push() 表示入栈,即在栈顶(数组尾端)添加指定的元素;方法 pop() 表示出栈,删原创 2016-12-29 16:59:56 · 497 阅读 · 0 评论 -
读代码,写结果
var a = []; var b = a; b[0] = 1; console.log(a[0]); console.log(b[0]); console.log(a===b);上述代码的结果分别为: 1 1 true原创 2016-12-29 14:07:02 · 603 阅读 · 0 评论 -
什么是“逻辑短路”
逻辑短路是对于逻辑运算而言,是指,仅计算逻辑表达式中的一部分便能确定结果,而不对整个表达式进行计算的现象。 对于“&&”运算符,当第一个操作数为false时,将不会判断第二个操作数,因为此时无论第二个操作数为何,最后的运算结果一定是false; 对于“||”运算符,当第一个操作数为true时,将不会判断第二个操作数,因为此时无论第二个操作数为何,最后的运算结果一定是true。原创 2016-12-29 14:47:53 · 10286 阅读 · 1 评论 -
JavaScript 中的局部变量与全局变量的区别
全局变量拥有全局作用域,在 JavaScript 代码的任何地方都可以访问;在函数内声明的变量只在函数体内有定义,即为局部变量,其作用域是局部性的。 需要注意的是,在函数体内声明局部变量时,如果不使用 var 关键字,则将声明全局变量。原创 2016-12-29 14:49:00 · 720 阅读 · 0 评论 -
JavaScript 中的函数作用域
JavaScript 中的函数作用域是指:变量在声明它的函数体以及这个函数体嵌套的任意函数体内都是有定义的。这意味着,在函数体内声明的所有变量在整个函数体内始终是可见的,这种特性也被称为“声明提前”,即,函数内声明的所有变量(不涉及到赋值)都被提前至函数的顶部声明。 比如,查看如下代码: function test() { console.log(x); var原创 2016-12-29 15:37:55 · 311 阅读 · 0 评论 -
简述 arguments 对象的作用
在函数代码中,使用特殊对象 arguments 可以访问函数的参数。即,开发者在定义函数时,无需明确的为方法声明参数,也可以在方法体中使用 arguments 来访问参数。这是因为, arguments 是一种特殊对象,在函数代码中,表示函数的参数数组。 正因为 arguments 表示参数组成的数组,因此,首先可以使用arguments.length检测函数的参数个数,其次,可以通过下标(arg原创 2016-12-29 16:33:38 · 5071 阅读 · 1 评论 -
简要描述 JavaScript 中定义函数的几种方式
JavaScript 中,有三种定义函数的方式: 1、函数语句:即使用 function 关键字显式定义函数。如:function f(x){return x+1;}2、函数定义表达式:也称为“函数直接量”。形如:var f = function(x){return x+1;};3、使用 Function() 构造函数定义,形如:Var f = new Function(“x”,”return原创 2016-12-29 16:39:35 · 3624 阅读 · 1 评论 -
列举几个 JavaScript 中常用的全局函数,并描述其作用
JavaScript 中常用的全局函数及其作用如下: 1. parseInt:解析一个字符串并返回一个整数; 2. parseFloat:解析一个字符串并返回一个浮点数; 3. isNaN:检查某个值是否是数字,返回 true 或者 false; 4. encodeURI :把字符串作为 URI 进行编码; 5. decodeURI :对 encodeURI() 函数编码过的 URI 进行原创 2016-12-29 16:41:27 · 2699 阅读 · 0 评论 -
读代码,写结果
写出下列代码的输出结果:function test() { var sum = 0; for (var i = 0; i < 10; i++) { sum += i; } console.log(sum); console.log(i);}test();上述代码中,输出 sum 的值为 45;输出 i 的值为 10。 这是因为,在函数 t原创 2016-12-29 16:30:47 · 392 阅读 · 0 评论 -
编写函数,实现冒泡排序
使用 JavaScript 编写的冒泡排序函数如下所示: function bubbleSort(arr) { for (var i = 0; i < arr.length; i++) { for (var j = 0; j < arr.length - i - 1; j++) { if (arr[j] > arr[j + 1原创 2016-12-29 16:46:39 · 6774 阅读 · 0 评论 -
编写函数,实现插入排序
插入排序是指,先假定将 n 个元素的数列分为已有序和无序两个部分;然后将无序数列的第一个元素与有序数列的元素从后往前逐个进行比较,找出插入位置,将该元素插入到有序数列的合适位置中。 使用 JavaScript 编写的插入排序函数如下所示:function insertionSort(arr) { //从第二个元素开始 for (var i = 1; i < arr.原创 2016-12-29 16:49:13 · 2909 阅读 · 0 评论 -
编写函数,实现对身份证号码最后一位的验证
二代身份证号码为18位,其最后一位(第18位)的计算方法为: 1、 将前面的身份证号码17位数分别乘以不同的系数。从第一位到第十七位的系数分别为: 7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2 2、 将这17位数字和系数相乘的结果相加 3、 用加出来和除以11,看余数是多少? 4、 余数只可能有0-1-2-3-4-5-6-7-8-9-10这11个数字。每原创 2016-12-29 16:56:03 · 3784 阅读 · 0 评论 -
简要描述 JavaScript 的数据类型
JavaScript 的数据类型可以分为原始类型和对象类型。 原始类型包括 string、number 和 boolean 三种。其中,字符串是使用一对单引号或者一对双引号括起来的任意文本;而数值类型都采用64 位浮点格式存储,不区分整数和小数;布尔(逻辑)只能有两个值:true 或 false。 复杂类型指其他对象,如 Array、Date、Object 等。 除此之外,JavaScript原创 2016-12-29 14:05:56 · 1045 阅读 · 0 评论
分享