JavaScript
空 白
仅仅是万千世界当中的一员,也没那么闪亮
展开
-
互不干扰的沙箱
var num=10; console.log(num+10); //沙箱---小环境 (function () { var num=10; console.log(num); })(); //沙箱---小环境 (function () { var num=20; console.log(num+10); }());各个变量之间的数据互不干扰,可独立运行同时沙箱也可以满足分别定义变量不冲突,同时在不同的沙箱内...原创 2020-07-23 19:49:08 · 103 阅读 · 0 评论 -
闭包案例实现点赞
点赞案例页面页面:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>选择心仪的</title> <style> ul { list-style-type: none; } li { float: left; margin-left: 10px; }原创 2020-07-09 22:34:57 · 562 阅读 · 0 评论 -
JS高阶函数把函数扔给你
函数作为返回值 function f1() { console.log("f1函数开始"); return function () { console.log("我是返回值的函数"); } } var ff = f1(); ff(); //获取某个对象的类型是不是你传入的类型 //[10,20,30] 是不是"[object Array]" //type---是变量----是参数----"[obj原创 2020-07-09 15:03:52 · 149 阅读 · 0 评论 -
JS高阶函数把函数传着玩儿
# 函数作为参数匿名函数作参数: function f1(fn) { console.log("f1的函数"); fn(); //此时fn当成是一个函数来使用的 } //fn是参数,最后作为函数使用了,函数是可以作为参数使用 //传入匿名函数 f1(function () { console.log("我是匿名函数"); });命名函数作参数: function f1(fn) { consol.原创 2020-07-09 13:58:14 · 220 阅读 · 0 评论 -
一步搞定函数外拿到函数内的变量值
//函数的自调用---自调用函数//一次性的函数--声明的同时,直接调用了(function () { console.log("函数");})();可以看出,在函数内部是可以打印出值的接着试着在函数外部打印函数内部的值: //页面加载后.这个自调用函数的代码就执行完了 (function (形参) { var num=10;//局部变量 })(实参); console.log(num);可以知道值的作用域的问题会影原创 2020-07-04 09:45:27 · 2465 阅读 · 0 评论 -
眼睛会了,手也会了之JS原生放大镜效果
实现照片放大镜页面样式<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title>哈哈</title> <style> * { margin: 0; padding: 0; } .box { width: 350px; height: 350px;原创 2020-07-03 22:42:51 · 116 阅读 · 0 评论 -
让我们用原生JS来搞定元素的自由拖拽
JS原生实现元素的拖拽页面样式<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title> <style> .login-header { width: 100%; text-align: center; height: 30px; font-size: 2原创 2020-07-01 00:19:42 · 209 阅读 · 0 评论 -
异步编程之回调地狱嵌套
异步编程可以知道异步操作是不用管前面代码是否执行的,他可以自己干自己的因此:var fs = require('fs')fs.readFile('./data/a.txt', 'utf8', function (err, data) { if (err) { // return console.log('读取失败') // 抛出异常 // 1. 阻止程序的执行 // 2. 把错误消息打印到控制台 throw err } consol原创 2020-06-10 16:45:55 · 349 阅读 · 0 评论 -
品一品,捋一捋,回调函数获取异步操作数据
一段函数中包含着异步执行结果,则无法直接获取到其中的数据例如:function fn(){ var data = '默认数据' setTimeout(() => { var data = 'hello' }, 1000); return data}// 掉用fnconsole.log( fn())可以发现,并没有得到hello这个值那么要想获得函数中异步操作的结果,必须通过回调函数来获取function fn(callback){原创 2020-06-05 21:34:41 · 192 阅读 · 0 评论 -
定时器真是定时执行的吗?
定时器真是定时执行的吗?定时器并不能保证真正定时执行一般会延迟一丁点(可以接受)也有可能延迟很长时间(不能接受)那么什么情况可以接受,什么情况下不能接受呢? document.getElementById('btn').onclick = function () { var start = Date.now() console.log('启动定时器前...')...原创 2020-04-15 11:03:57 · 416 阅读 · 0 评论 -
JS线程与进程
线程与进程进程:程序的一次执行, 它占有一片独有的内存空间可以通过windows任务管理器查看进程线程:是进程内的一个独立执行单元是程序执行的一个完整流程是CPU的最小的调度单元关系一个进程至少有一个线程(主)一个进程中也可以同时运行多个线程, 我们会说程序是多线程运行的一个进程内的数据可以供其中的多个线程直接共享多个进程之间的数据是不能直接共享的程序是在...原创 2020-04-15 11:02:03 · 1271 阅读 · 0 评论 -
JS换着花样玩继承
原型链继承定义父类型构造函数给父类型的原型添加方法定义子类型的构造函数创建父类型的对象赋值给子类型的原型将子类型原型的构造属性设置为子类型给子类型原型添加方法创建子类型的对象: 可以调用父类型的方法// 父类型function Supper(){ this.supProp = 'Supper property'}Supper.prototype.showSup...原创 2020-03-25 21:31:37 · 86 阅读 · 0 评论 -
JS初识闭包
闭包闭包就是能够读取其他函数内部变量的函数。例如在javascript中,只有函数内部的子函数才能读取局部变量,所以闭包可以理解成“定义在一个函数内部的函数“。在本质上,闭包是将函数内部和函数外部连接起来的桥梁。接下来看三段代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF...原创 2020-03-24 11:35:31 · 84 阅读 · 0 评论 -
prototype原型看起来真不要太晕
prototype原型我们所创建的每一个函数,解析器都会向函数中添加一个属性prototype。它默认指向一个Object空对象(即称为: 原型对象)prototype与constructor原型对象中有一个属性constructor, 它指向函数对象// 此处有一个Type对象,Type的prototype -->> Type的prototype(即Ty...原创 2020-03-22 23:15:23 · 250 阅读 · 0 评论 -
JS真的一定需要分号么?
分号问题js一条语句的后面可以不加分号是否加分号是编码风格问题, 没有应该不应该,只有你自己喜欢不喜欢在下面2种情况下不加分号会有问题小括号开头的前一条语句中方括号开头的前一条语句解决办法: 在行首加分号强有力的例子: vue.js库知乎热议: 尤大大 var a = 3 ;(function () { //在小括号开头加分号 })() /* ...原创 2020-03-21 16:05:33 · 1736 阅读 · 0 评论 -
你想要知道JS的模块化得先了解下IIFE
IIFE(Immediately Invoked Function Expressions)专业术语为: IIFE (Immediately Invoked Function Expression) 立即调用函数表达式作用隐藏实现不会污染外部(全局)命名空间用它来编码js模块 //匿名函数自调用 IIFE (function () { var a = 3 ...原创 2020-03-20 23:47:51 · 131 阅读 · 0 评论 -
从JavaScript看对象
JavaScript对象什么是对象?多个数据的封装体用来保存多个数据的容器一个对象代表现实中的一个事物为什么要用对象?统一管理多个数据对象的组成属性: 属性名(字符串)和属性值(任意)组成方法: 一种特别的属性(属性值是函数)属性组成:属性名 : 字符串(标识)属性值 : 任意类型属性的分类:一般 : 属性值不是function 描...原创 2020-03-20 23:33:21 · 69 阅读 · 0 评论 -
JavaScript数据,变量,内存 "摩擦"
数据,变量, 内存的理解什么是数据?在内存中可读的, 可传递的保存了特定信息的’东东’一切皆数据, 函数也是数据在内存中的所有操作的目标: 数据数据的特点: 可传递, 可运算什么是变量?在程序运行过程中它的值是允许改变的量一个变量对应一块小内存, 它的值保存在此内存中什么是内存?内存条通电后产生的存储空间(临时的)一块内存包含2个方面的数据内部存储的数据...原创 2020-03-20 22:35:52 · 75 阅读 · 0 评论 -
JavaScript数据类型全都知道了么?
数据类型的分类和判断分类基本(值)类型Number ----- 任意数值 -------- typeofString ----- 任意字符串 ------ typeofBoolean ---- true/false ----- typeofundefined — undefined ----- typeof/===null -------- null ---------- ===...原创 2020-03-20 18:15:01 · 96 阅读 · 0 评论 -
JavaScript事件也可以冒泡泡(Bubble)
事件的冒泡(Bubble)所谓的冒泡指的就是事件的向上传导,当后代元素上的事件被触发时,其祖先元素的相同事件也会被触发在开发中大部分情况冒泡都是有用的,如果不希望发生事件冒泡可以通过事件对象来取消冒泡<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>...原创 2020-03-06 21:17:33 · 2044 阅读 · 2 评论 -
JavaScript正则表达式手把手的搞
JavaScript正则表达式正则表达式用于定义一些字符串的规则,计算机可以根据正则表达式,来检查一个字符串是否符合规则,获取将字符串中符合规则的内容提取出来创建正则表达式的对象语法:var 变量 = new RegExp(“正则表达式”,“匹配模式”);使用typeof检查正则对象,会返回object在构造函数中可以传递一个匹配模式作为第二个参数i 忽略大小写g 全局匹...原创 2020-03-06 21:15:30 · 202 阅读 · 0 评论 -
盒子模型
margin外边距是元素边框与周围元素相距的空间。使用margin属性可以设置外边距。用法和padding类似,同样也提供了四个方向的 margin-top/right/bottom/left。当将左右外边距设置为auto时,浏览器会将左右外 边距设置为相等,所以这行代码margin:0 auto可以使元素居中。垂直外边距的重叠在网页中垂直方向的相邻外边距会发生外边距的重叠...原创 2020-03-06 20:53:28 · 213 阅读 · 0 评论