JavaScript学习之路
Laueeo
这个作者很懒,什么都没留下…
展开
-
h5,cs3和es6新增
H5: 1. 语义化标签,(如header main aside section footer 等) 2. 音视频标签: - video属性:poster,controls,muted,autoplay,loop - audio属性:controls,muted,autoplay,loop 3. 表单新增 - type类型:email,number,url,color,time,range - 属性:required,placeholder,autofoc原创 2022-04-06 20:38:31 · 589 阅读 · 0 评论 -
原生js与jquery部分常用方法对比
获取dom元素原生获取: - document.getElementsByTagName, - document.getElementById, - document.getElementsByClassName - document.querySelector - document.querySelectorAlljQuery获取:基本选择器- id选择器:$("#box");- class选择器:$(".box");- 标签选择器:$("p")- 群组选择器:$("span,s原创 2022-02-17 09:13:31 · 534 阅读 · 0 评论 -
js面试知识点总结
前端面试常见问题原创 2022-02-10 21:07:02 · 416 阅读 · 0 评论 -
js函数自运行学习笔记
函数自运行常常针对的是匿名函数,因为这类函数如果在定义时没有调用的话后面无法调用,所以需要在定义的时候进行直接调用。ps:这个也是学习闭包的基础。调用方式有以下三种://第一种方法(function(){ console.log("heihei"); }());//第二种方法(function(){ console.log("haha"); })();//第三种方法 依赖关键字或运算符! function(){ console.log("xixi");}();void f原创 2022-02-07 19:51:11 · 375 阅读 · 0 评论 -
js学习总结
基础语法打印方式document.write 页面打印console.log 控制台打印添加js代码方式页面内添加,直接在script标签内进行书写页面外引入,直接在script标签的src属性中引入文件,可以出现多个script标签,但引入文件的标签体内不能再书写js代码执行顺序,同步代码自上而下依次执行注释方式:// 单行注释/* */ 多行注释变量个常量常量:程序运行中其值不可改变的量变量: 在程序运行过程中,其值不可改变的量,常用var或le原创 2022-02-05 23:30:26 · 601 阅读 · 0 评论 -
Ajax的函数封装
Ajax是前端的异步加载技术,可以做到网页的局部刷新,提升用户体验,提高网络的利用率,主要利用XMLHttpRequest对象的方法作为传输的方式;封装之后的Ajax可以根据不同的请求参数,返回响应的内容,下面是对Ajax的封装: ///传入的参数 // type:传参的方式 // url:传参的地址 // isAsyn:是否异步 // data:请求参数 // callBack:接收响应值的方法 function ajaxFun(type,url,data原创 2022-01-20 18:41:38 · 604 阅读 · 0 评论 -
js中的主要几种事件兼容
由于js发展早期各家的浏览器的标准不统一,所有为了兼容不同的浏览器,在响应不同的事件时常常需要在代码中有一些兼容性写法,目前主要需要兼容事件有以下几种:事件对象兼容:let e = evt || event //凡是使用到事件的时候无脑兼容阻止事件冒泡的兼容:e.stopPropagation?e.stopPropagation():e.cancelBubble = true; //对事件的触发源添加该方法.stopPropagation(); 阻止浏览器默认行为e.pre原创 2022-01-10 16:45:54 · 1011 阅读 · 0 评论 -
javascript生成验证码
思路:先定义一个数组,里面存放着三个元素分别为随机生成大写字母,小写字母,数字 的asc码值并转为字符串,再在下面进行循环拼接,循环次数设为需要的验证码位数即可。let idCode =(obj,num)=>{ let arr = [String.fromCharCode(Math.round(Math.random()*25+97)),String.fromCharCode(Math.round(Math.random()*25+65)),Math.round(Math.random()*原创 2022-01-06 23:09:21 · 1272 阅读 · 0 评论 -
apply(),call()和bind()的异同
apply和call:改变函数this指向函数对象.call(被改变的this指向,函数对象的参数1,参数2.。。)1,都是用来改变this指向的2,bind针对匿名函数apply和call针对于有名函数3,apply的第二个参数是一个数组4.apply和call是函数调用,bind是生成了一个新的函数对象...原创 2021-12-14 21:21:24 · 83 阅读 · 0 评论 -
prototype学习笔记
prototype:原型对象,是函数(构造函数)对象的一个属性,它保存着所有实例化对象共享的函数或者属性目的:当一个类被调用多次时会每次都开辟出不同的空间,当这些实例化出来的函数之间存在有相同的属性或者函数的化可以直接使用prototype进行指向,不必重新开辟空间。示例代码:function Student(id, name) { //使用ES5方法构建的类 this.id = id; this.name = name; } Student.原创 2021-12-14 20:20:19 · 698 阅读 · 0 评论 -
递归学习笔记
递归是一个函数在运行过程中直接或者间接调用自身的方法,是一种编程思想。作用是简化代码。代码示例:let count = 0;function fun(){ console.log(++count); fun();}fun();有5个小朋友,依次排列,询问第五个小朋友的年龄,他说比第四个大两岁,询问第四个小朋友,他说比第三个大两岁。。。,依次类推;第一个小朋友说他10岁function age1(...原创 2021-12-14 18:02:01 · 197 阅读 · 0 评论 -
闭包学习笔记
闭包是函数的嵌套;因为通常我们无法在外部访问到函数体内部的变量,所以可以在函数体的内部再定义一个函数,获取到内部的变量并且操作之后可以使用return返回结果,同时还可以使得函数体内部的变量形成一个类似作用域的情况。同时也会打破垃圾回收机制,使得函数不会被回收,这个可能会导致内存泄漏。闭包案例:function fun(){ var count = 0; return function(){ //返回内部函数的值 return ++count; //返回变原创 2021-12-14 10:26:27 · 98 阅读 · 0 评论 -
promise学习笔记
what?promise是回调函数的另一种写法,将回调模式的主从关系调换了一个位置,变为了平等的关系,简单来说是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果,从语法上说,promise是一个对象,从 它可以获取异步操作的消息,promise提供了统一的api,各种异步操作都可以用同样的方法进行处理。特点:对象的状态不受外界影响,promise对象代表一个异步操作,有三种状态,padding(进行中),fulfilled(已成功),rejected(已失败)。只有异步操作的结果,原创 2021-12-10 16:58:56 · 329 阅读 · 0 评论 -
Ajax学习笔记
什么是Ajax?what: Ajax(Asynchronous JavaScript And XML), (异步JavaScript和XML),是一种创建异步交互式网页引用的网页开发技术;在网页中发生数据更改时,无需加载整个网页,可以只更新局部。前端通过与服务器进行少量数据交换,Ajax可以使网页实现异步更新,这意味着可以在不重新加载整个网页的情况下,对网页进行部分更新。不使用Ajax的网页如需更新内容,必须重载整个网页。ps:从上面的概念中又引出一个同步与异步的概念同步,可以理解为在执行完一个函数原创 2021-12-09 16:14:36 · 454 阅读 · 0 评论 -
cookie的增删改查的封装
cookie:什么是cookie?会话跟踪技术,用于保存用户页面访问数据的技术,可以在一个页面的多个相关页面间传递数据,在用户登录时可以保存用户名和密码,时效性有会话级别的和长生命周期的什么是会话?从页面开始访问到页面关闭为// cookie的键值对只能侧面删除// a.将key对应的value设置为''// b.将expires = -1;//let date = new Date();//date.setDate(date.getDate()+10);//document...原创 2021-12-08 16:43:24 · 513 阅读 · 0 评论 -
JavaScript的五种迭代函数
ECMAScript 为数组定义了五个迭代方法。每个方法都接收两个参数:要在每一项上运行的函数和(可选的)运行该函数的作用域对象——影响this的值。传入这些方法中的函数会接收三个参数:数组项的值、该项在数组中的位置和数组对象本省。根据使用的方法不同,这个函数执行后的返回值可能会也可能不会影响方法的返回值。以下是这五个迭代方法的作用。1、every(); 对数组中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true。2、some(); 对数组的每一项运行给定函数,如果该函数对任转载 2021-11-27 17:19:46 · 334 阅读 · 0 评论 -
JavaScript实现页面倒计时
核心思想:输入一个将来时间,然后获取 现在的时间,之间的差值就是需要的倒计时,再使用setInterval函数设置刷新间隔就可以生成一个动态的倒计时。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewpo原创 2021-11-21 14:34:25 · 743 阅读 · 0 评论 -
javascript简单实现随机生成验证码
function idCode(num){ var str = "hghduiqhauihuiqhuihuihiuhijiuQIUHUWHGQUIHDUIHJAIFJKAHUIXCHIOHO122356734894059" //定义一串字符串 var ch =""; //定义一个空字符串,方便后面放验证码 for(var i=0; i < num; i++){ //设置一个循环,循环范围由原创 2021-11-20 16:36:54 · 1163 阅读 · 0 评论 -
JavaScript初步实现敏感词过滤
//核心思想:对需要过滤的敏感词数组进行遍历,在遍历中使用replace函数将输入的字符串中 与敏感词数组元素一致的进行替换缺陷:由于replace函数的缺陷,每次调用只能替换字符串中的一个元素,也就是说如果字符串中出现多个敏感词是需要多次循环才能彻底清除。这个致命缺陷也导致这个方法实际是不可行的,只能作为学习过程中的一个练习function sensWord(arr,str){ for(let j=0; j<arr.length; j++){ for(let i = 0; i &原创 2021-11-20 15:04:56 · 1522 阅读 · 0 评论 -
javaScript实现查找字符串中每个元素的数量,再用对象形式输出
核心思想:利用charAt遍历字符串,再在对象中进行判断,如果已经存在就自增1;如果没有的话就等于一。function charNum(str){ // 定义函数,输入字符串 let c = {}; //定义一个json对象 for(let i = 0; i<str.length; i++){ // 对字符串进行遍历 let chars = str.charAt(i); // 使用charAt函数取出字符串中的元素 i原创 2021-11-20 14:12:26 · 636 阅读 · 0 评论 -
JavaScript实现数组查重
核心算法:创建一个新数组,遍历旧数组,然后使用旧数组在新数组中查找,如果没有找到该元素,则把该元素放入新数组;function rmvDup(arr){ var j=0; var newArr = [j]; //创建新数组,后面存入不重复的数组元素 for(var i = 0; i < arr.length; i++){ if(newArr.indexOf(arr[i])==-1){ /原创 2021-11-19 17:58:17 · 1887 阅读 · 0 评论 -
javaScript实现选择排序
function sor(arr){ var n; for(var i = 0; i < arr.length-1; i++){ n = i; //在n里面存储i当前数值,固定i的值,以及方便后面交换 for(var j = i+1; j < arr.length-i-1; j++){ if(arr[n] > arr[j]){原创 2021-11-19 16:54:25 · 252 阅读 · 0 评论 -
冒泡排序 js实现
function popSort(arr){ var swap,i,j; //注意此处有坑,变量初始化要在循环内,在函数头部的话会导致循环中断 for( i=0; i<arr.length - i; i++){ for( j=0; j<arr.length - 1 -i ; j++){ if(arr[j]>arr[j+1]){ swap = arr[j]; arr原创 2021-11-16 13:19:00 · 531 阅读 · 0 评论 -
html+js实现分别输入年月日,判断是该年的第几天
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Doc原创 2021-11-15 17:49:57 · 1173 阅读 · 0 评论 -
j使用JavaScript函数判断出100到200间的所有素数
let prime = function(number){ //使用声明变量的方式定义一个函数 let flag=false,i, count=0; if(number == 1){ count = 1; //标记变量,当数字是素数时则该标记不为0 }; for(i=number - 1; i>1; i--){ if( number % i == 0){原创 2021-11-14 15:05:28 · 730 阅读 · 0 评论