
JavaScript
JavaScript
我是小怪兽-
Life isn't like in the movies.Life...is much harder.
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ES7、ES8新特性整理
ES7ES7在ES6的基础上添加三项内容:求幂运算符(**)、Array.prototype.includes()方法、函数作用域中严格模式的变更。求幂运算符(**)Math.pow(2,2); //4// ES72**2 //4Array.prototype.includes()数组原型的方法,查找一个数值是否在数组中,只能判断一些简单类型的数据,对于复杂类型的数据无法判断。该方法接受两个参数,分别是查询的数据和初始的查询索引值。[1, 2, 3].indexOf(3) >原创 2020-08-13 11:28:38 · 916 阅读 · 0 评论 -
div可编辑文本的选中文本效果
<!DOCTYPE html><html lang="en"><head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1"> <title>demo</title> <style type="text/css">原创 2020-05-22 08:57:00 · 1207 阅读 · 0 评论 -
网址验证的两种正则表达式
1.验证网址的正则表达式:var reg = /^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)(([A-Za-z0-9-~]+)\.)+([A-Za-z0-9-~\/])+$/;用于校验http[s]://www.aaa.com类型的网址。2.校验IP合法的正则表达式:var reg = /^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)((2[0-4][0-9])|(25[0-5])|(1[0-9]原创 2020-05-16 08:47:01 · 6504 阅读 · 0 评论 -
更改前端路由且不刷新页面的两种方式
1.url的hashlocation.hash="名称" 执行:路由变成:2.HTML5的historyhistory.pushState()三个参数:data,title, url执行:路由变成:history.replaceState()执行:路由变成:pushState和replaceState的区别:pushState()执行的操作类似于压栈...原创 2020-05-08 17:22:05 · 3565 阅读 · 0 评论 -
箭头函数中this的指向理解
测试代码:<script> setTimeout(() => { console.log(this) // window对象 }, 1000) const obj = { test() { setTimeout(() => { console.log(...原创 2020-05-08 15:46:59 · 316 阅读 · 0 评论 -
字符串编码,解码
encodeURIComponent() 函数可把字符串作为 URI 组件进行编码。encodeURIComponent(URIstring)decodeURIComponent() 函数可对 encodeURIComponent() 函数编码的 URI 进行解码。decodeURIComponent(URIstring)...原创 2020-04-27 09:47:53 · 235 阅读 · 0 评论 -
javascript的异步加载
什么是异步加载javascript使js文件脱离html解析的瀑布流加载,可以实现并行下载。为什么要使用异步加载默认方式是同步加载,一般将js写在head里,这就会导致在进行js加载的过程中,无法在其加载完成前对后续的内容进行操作,造成页面内阻塞,对用户体验很不友好。异步加载的方式1.defer异步加载用于开启新的线程下载脚本文件,并使脚本在文档解析完成后执行h5的新属性,主要用来...原创 2020-03-06 15:19:40 · 298 阅读 · 0 评论 -
08------JS字符串深入
字符串有两种形式的字符串:基本类型,对象类型对象类型的字符串封装了一些属性以及方法,而基本类型则没有可以直接用基本类型字符串调用字符串对象封装的属性及方法,无须手动转换var str = 'hello world'console.log(typeof str) //stringvar str1 = new String('hello world')console.log(type...原创 2020-02-13 10:07:47 · 247 阅读 · 0 评论 -
07------数组深入
认识数组内置对象是JS语言自带的对象,提供了一些基本的功能供开发者使用。常用的内置对象有Math、String、Array、Date等。对象:属性(变量)和方法(函数)的集合数组就是对象可以存储多个不同类型的数据创建数组1.内存栈区:基本数据类型保存在栈区,会根据函数的结束而自动释放堆区:需要手动开辟,并且需要手动释放2.new在堆区开辟内存空间来存储对象返回堆区对...原创 2020-01-26 11:18:14 · 171 阅读 · 0 评论 -
06------线程机制与事件机制
进程与线程1.进程程序的一次执行,它占有一片独有的内存空间可以通过windows任务管理器查看进程2.线程是进程内的一个独立执行单元是程序运行的一个完整流程是CPU的最小调度单元如下图:3.相关应用程序必须运行在某个进程的某个线程中一个进程中至少有一个运行的线程:主线程,进程启动后自动创建一个进程中可以同时运行多个线程,程序是多线程运行的一个进程内的数据可以供...原创 2020-01-21 15:17:19 · 161 阅读 · 0 评论 -
05------JS面向对象高级
对象创建模式1.Object构造函数模式方法:先创建空Object对象,再动态添加属性/方法适用场景:起始时不确定对象内部数据问题:语句太多// 一个学生var s = new Object()s = {} //内部数据不确定//动态添加属性和方法s.name = 'alice's.score= 90s.setScore = function (score) { thi...原创 2020-01-21 11:30:47 · 143 阅读 · 0 评论 -
04------JS函数高级之作用域(链)、闭包
作用域和作用域链1.作用域理解:就是一块地盘,一个代码所在的区域它是静态的(相对于上下文对象),在编写代码的时候就已经确定分类:全局作用域局部作用域块作用域(ES6)作用:隔离变量,不同作用域下同名变量不会有冲突2.作用域和执行上下文1).区别1全局作用域之外,每个函数都会创建自己的作用域,作用域在函数定义时就已经确定,而不是在函数调用时全局执行上下文环...原创 2020-01-21 10:32:20 · 236 阅读 · 0 评论 -
03------JS函数高级之执行上下文与执行上下文栈
原型和原型链1.原型函数的prototype属性每个函数都有一个prototype属性,它默认指向一个Object空对象(即原型对象)原型对象中都有一个construtor,它指向函数对象//每个函数都有一个prototype属性,它默认指向一个Object空对象(即原型对象)console.log(Date.prototype)console.log(typeof Date.p...原创 2020-01-20 19:38:04 · 214 阅读 · 0 评论 -
02------JS函数高级之原型与原型链
原型和原型链1.原型函数的prototype属性每个函数都有一个prototype属性,它默认指向一个Object空对象(即原型对象)原型对象中都有一个construtor,它指向函数对象//每个函数都有一个prototype属性,它默认指向一个Object空对象(即原型对象)console.log(Date.prototype)console.log(typeof Date.p...原创 2020-01-20 17:49:30 · 183 阅读 · 0 评论 -
01------JS基础总结
数据类型1.分类基本(值)类型Number: 任意数值Srting: 任意字符串Boolean: true/falseundefined: undefinednull: null对象(引用)类型Object: 任意对象Function: 特别的对象(可以执行)Array: 特别对象(内部数据有序/数据下标)2.判断typeOf: 数值/字符串/布尔值/undef...原创 2020-01-19 11:22:35 · 197 阅读 · 0 评论 -
用JavaScript实现3D轮转
js代码具体实现:// JavaScript Documentwindow.onload = function(){ //定义一个旋转类 var rt = new imgRound("imgContainer", 120, 90, 300, 80, 230, 0.01); //然后使用定时函数调用imgRound实例的roundMove方法 setInterva原创 2017-05-13 00:06:05 · 931 阅读 · 0 评论 -
js把数据导出成excel的中文乱码问题解决
重点内容# 欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用原创 2017-07-23 17:26:16 · 7998 阅读 · 1 评论 -
图片轮播效果
index.html<div class="banner"> <div class="box"> <div class="carousel"> <!-- 图片可任意张 --> <img class="img" src=&quo原创 2018-03-20 10:14:48 · 289 阅读 · 0 评论 -
页面跳转传参以及接受参数
页面跳转传参以及接受参数a页面:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>a</title></head><body> <原创 2018-09-29 15:36:10 · 4896 阅读 · 0 评论 -
编写JavaScript代码小技巧
1.Array.includes与条件判断一般我们判断或用 ||// conditionfunction test(fruit) { if (fruit == "apple" || fruit == "strawberry") { console.log("red"); }}如果我们有更多水果function test(fruit) { const redFrui...原创 2019-03-11 14:35:14 · 183 阅读 · 0 评论 -
ES6常用知识小结
1.变量声明const和let在ES6之前,我们都是用var关键字声明变量。无论声明在何处,都会被视为声明在函数的最顶部(不在函数内即在全局作用域的最顶部)。这就是函数变量提升。例如:console.log(str) //变量提升,此处访问str,值为undefinedvar str = 'test'而es6之后,我们通常用let和const来声明。let表示变量、const表示常量,l...原创 2019-05-06 15:34:45 · 218 阅读 · 0 评论 -
JavaScript中的Ajax
单击按钮,然后从服务器端取回相应的文件内容并显示出来。首先在HTML中定义一个按钮,按钮用来触发Ajax,下面的代码主要是实现Ajax()函数。代码如下:function ajax(url,fnSucc,fnFaild){//1.创建ajax对象//如果直接使用XMLHttpRequest就会是未定义的变量,会报错;加上window之后就是未定义的变量,只会认为是未定义(u原创 2017-04-28 21:56:04 · 705 阅读 · 0 评论