javascript
文章平均质量分 64
Mark sheng
一切阻挡你成功的都是借口
展开
-
JS学习笔记Mark
x,y 为 undefined, z 为 1多个变量不能赋一个值,最后一个才有值,其余都是UNdefind未使用值来声明的变量,其值实际上是 undefined。var carname;重新声明 JavaScript 变量,该变量的值不会丢失:2015 年以前,我们使用 var 关键字来声明 JavaScript 变量。ES2015(ES6) 新增加了两个重要的 JavaScript 关键字: let 和 const。ES6 之前,JavaScript 只有两种作用域: 全局变量 与 函数内的局原创 2022-07-08 11:44:39 · 463 阅读 · 0 评论 -
JS常用方法
split()方法把一个字符串分割成字符串数组:var str="How are you doing today?";var n=str.split(" ");n输出一个数组的值:How,are,you,doing,today?random()方法返回介于 0(包含) ~ 1(不包含) 之间的一个随机数:Math.random();输出结果:0.64631405494664061 到 10 之间的一个随机数:Math.floor((Math.ra...原创 2021-09-22 09:37:25 · 391 阅读 · 0 评论 -
array对象(数组)
什么是数组?数组对象是使用单独的变量名来存储一系列的值。创建一个数组创建一个数组,有三种方法。1: 常规方式:var myCars=new Array();myCars[0]="Saab";myCars[1]="Volvo";myCars[2]="BMW";2: 简洁方式:var myCars=new Array("Saab","Volvo","BMW");3: 字面:var myCars=["Saab","Volvo","BMW"];...原创 2021-09-01 13:46:36 · 363 阅读 · 0 评论 -
vue插槽使用(史上最简单的理解方法)
具名插槽//子组件<slot name="footer"></slot>//父组件<child1> <span slot="footer"> <p>我是页尾的具体内容</p> </span> </child1>匿名插槽子组件<slot></slot>父组件<child>原创 2021-03-26 09:09:19 · 118 阅读 · 0 评论 -
Javascript高级程序设计第四版笔记(松爷代言)
序章学习地址MDN(Mozilla Developer Center):火狐开发者社区是一个完整的学习平台,你可以在这里深入学习Web技术以及能够驱动Web的软件 。1. 第六章1.1 Object1.1.1 new操作符let person = new Object(); person.name = "Nicholas"; person.age = 29;1.1.2 对象字面量对象字面量是对象定义的简写形式,目的是为了简化包含大量属性的对象的创建。let per原创 2021-03-25 18:16:37 · 504 阅读 · 0 评论 -
前端基础知识必学(marksheng终结版)
Vue六种传值方式(marksheng珍藏版)vue组件的封装(marksheng珍藏版——前端必备)vuex使用流程(marksheng珍藏——前端必备)P7面试题库(某企业面试题库)原创 2021-03-25 17:56:10 · 176 阅读 · 0 评论 -
vuex使用流程(marksheng珍藏——前端必备)
使用流程1.安装vuexnpm install vuex --save;12.store文件中引入vuex为了方便全局使用,一般会新建一个store文件夹,用于存放相关状态值。文件夹下的index.js作为对外输入接口的主文件。在主文件中引入vuex,并输出store接口。index.js:import Vue from 'vue';import Vuex from 'vuex';export default store;;3.vuex使用index.js:Vue.use(V.原创 2021-03-25 14:51:38 · 270 阅读 · 0 评论 -
vue组件的封装(marksheng珍藏版——前端必备)
vue组件的定义● 组件(Component)是Vue.js最强大的功能之一● 组件可以扩展HTML元素,封装可重用代码● 在较高层面上,组件是自定义元素,Vue.js的编译器为他添加特殊功能● 有些情况下,组件也可以表现用 is特性进行了扩展的原生的HTML元素● 所有的Vue组件同时也都是Vue实例,所以可以接受相同的选项对象(除了一些根级特有的选项),并提供相同的生命周期钩子vue组件的功能1)能够把页面抽象成多个相对独立的模块2)实现代码重用,提高开发效率和代码质..原创 2021-03-25 14:47:20 · 564 阅读 · 0 评论 -
在vue项目中 如何定义全局变量 全局函数(marksheng)
如题,在项目中,经常有些函数和变量是需要复用,比如说网站服务器地址,从后台拿到的:用户的登录token,用户的地址信息等,这时候就需要设置一波全局变量和全局数定义全局变量原理:设置一个专用的的全局变量模块文件,模块里面定义一些变量初始状态,用export default 暴露出去,在main.js里面使用Vue.prototype挂载到vue实例上面或者在其它地方需要使用时,引入该模块便可。全局变量模块文件:Global.vue文件:<script>co...原创 2021-03-18 08:27:37 · 1156 阅读 · 0 评论 -
iconfont字体图标的使用方法(marksheng)
iconfont字体图标的使用方法--超简单!我之前因为项目用bootstrap比较多,所以使用font awesome字体图标比较多,后来接触到了iconfont,发现想要的什么图标都有,还可以自定义图标,非常强大!之前看了一波教程,觉得繁琐,自己弄明白后感觉如此简单,做了这么个简单教程,直接上图,简单粗暴,避免新手走弯路,这里讲解的默认是元素使用类名;step 1:百度iconfont,找到阿里巴巴矢量图标库官网,然后注册登录,或者用github登录也行,此步骤跳过;step 2:找到图标管原创 2021-03-15 13:40:11 · 142 阅读 · 0 评论 -
严格模式(use strict)
1.使调试更加容易。那些被忽略或默默失败了的代码错误,会产生错误或抛出异常,因此尽早提醒你代码中的问题,你才能更快地指引到它们的源代码。2.变量在赋值之前必须声明,防止意外的全局变量。如果没有严格模式,将值分配给一个未声明的变量会自动创建该名称的全局变量。这是JavaScript中最常见的错误之一。在严格模式下,这样做的话会抛出错误。3.取消this值的强制转换。如果没有严格模式,引用null或未定义的值到 this 值会自动强制到全局变量。在严格模式下,引用 null或未定义的 this 值会..原创 2021-03-14 18:34:35 · 183 阅读 · 0 评论 -
组合继承
// 组合继承 function father(){ this.money = 10000000000000; this.houses = 100; this.cars = 500; } father.prototype.makeMoney = function(){ console.log("我的技能是制造bug") } function son(){ father.call(this) } // son.prototype = new fath.原创 2021-03-11 00:14:00 · 66 阅读 · 0 评论 -
es6解构赋值
一、定义ES6允许按照一定的模式,从数组和对象中提取值,对变量进行赋值,被称为解构二、详情讲解1、数组解构:数组解构时数组的元素是按次序排列的,变量的取值由它的位置决定模式匹配:只要等号两边的模式相同,左边的变量就会被赋予对应的值(1)正常解构let [a, b, c] = [1, 2, 3];console.log(a, b, c) // 1 2 3let [foo, [[bar], baz]] = [1, [[2], 3]];console.log(foo, bar, ba.原创 2021-03-10 11:33:14 · 75 阅读 · 0 评论 -
js总结(阿西吧)
一、forEach()方法对数组的每个元素执行一次提供的函数。<span style="color:#000000"><code>var array = ['a', 'b', 'c'];array.forEach(function(element) { console.log(element);});</code></span>输出为:a;b;c;forEach() 方法对数组的每个元素执行一次提供的函数。总是返回undefi.原创 2021-03-05 15:42:06 · 113 阅读 · 0 评论 -
JS重新学习笔记(每天进步一点点,持续更新marksheng)
JavaScript-什么是变量什么是变量? 从字面上看,变量是可变的量;从编程角度讲,变量是用于存储某种/某些数值的存储器。我们可以把变量看做一个盒子,为了区分盒子,可以用BOX1,BOX2等名称代表不同盒子,BOX1就是盒子的名字(也就是变量的名字)。定义变量使用关键字var,语法如下:var 变量名变量名可以任意取名,但要遵循命名规则: 1.变量必须使用字母、下划线(_)或者美元符($)开始。 2.然后可以使用任意多个英文字母、数字、下划线(_)或者美元符($...原创 2021-01-21 19:43:00 · 108 阅读 · 0 评论 -
第5章基本引用类型(高阶第四版笔记)
第五章引用类型前言目录第五章引用类型前言一,DATE语法参数返回值注释示例:二,RegExp三,原始值包装类型:Boolean、Number、StringBoolean栗子:总结:Number前言:栗子:valueOf()、toString(param)栗子:toFixed(param)String前言:1、字符操作:charAt(索引)、charCodeAt(索引)2、字符串操作:slice()、substr()、原创 2021-01-20 21:49:43 · 755 阅读 · 0 评论 -
第4章笔记(变量,作用域与内存)
目录一,原始值与引用值本章内容 通过变量使用原始值与引用值 理解执行上下文 理解垃圾回收 一,原始值与引用值 原始值: 存储在栈中的简单数据,即他们的值直接存储在变量访问的位置。包括五种原始类型:undefined、null、boolean、number、string。引用值:存储在堆中的对象,即存储在变量处的值是一个指针,只41想存储对象的内存处。包括:object、array、function等两1者的区别:原始变量及他们的值储存在栈中,当把一个原始变量..原创 2021-01-19 21:35:44 · 124 阅读 · 0 评论 -
词法作用域(marksheng)
作用域模式作用域的工作模式分为两种,静态作用域与动态作用域其中静态作用域包括函数作用域和块作用域可能同学要问那么词法作用域呢其实词法作用域和静态作用域是同一个东西读这两本书能更好的理解词法作用域关于静态、动态作用域有什么区别——《高性能JavaScript》 /p24——《你不知道的JavaScript(上卷)》 /p59往下看↓词法作用域与动态作用域function foo(){ var a = 1; bar();}functio...原创 2021-01-15 07:59:53 · 118 阅读 · 0 评论 -
Object(AO)流程和JS笔记
1.创建AO对象2.实例与变量名统一,赋值undefind3.实例与形参统一4.申明式函数提升5.表达式执行到那一步就执行原创 2021-01-11 13:13:00 · 187 阅读 · 0 评论 -
回调函数是啥
回调函数作者:no.body链接:https://www.zhihu.com/question/19801131/answer/27459821来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。我们绕点远路来回答这个问题。编程分为两类:系统编程(system programming)和应用编程(application programming)。所谓系统编程,简单来说,就是编写库;而应用编程就是利用写好的各种库来编写具某种功用的程序,也就是应用。系统程序..原创 2020-12-31 15:50:36 · 125 阅读 · 0 评论 -
闭包啊啊
1、概念闭包函数:声明在一个函数中的函数,叫做闭包函数。闭包:内部函数总是可以访问其所在的外部函数中声明的参数和变量,即使在其外部函数被返回(寿命终结)了之后。2、特点 让外部访问函数内部变量成为可能; 局部变量会常驻在内存中; 可以避免使用全局变量,防止全局变量污染; 会造成内存泄漏(有一块内存空间被长期占用,而不被释放)3、闭包的创建:闭包就是可以创建一个独立的环境,每个闭包里面的环境都是独立的,互不干扰。闭包会发生内存泄漏,每次外部函数执行的时 候,外...原创 2020-12-31 14:25:31 · 117 阅读 · 0 评论 -
一个页面从输入URL到页面加载发生什么?
一般会经历以下几个过程:1、首先,在浏览器地址栏中输入url2、浏览器先查看浏览器缓存-系统缓存-路由器缓存,如果缓存中有,会直接在屏幕中显示页面内容。若没有,则跳到第三步操作。3、在发送http请求前,需要域名解析(DNS解析),解析获取相应的IP地址。4、浏览器向服务器发起tcp连接,与浏览器建立tcp三次握手。5、握手成功后,浏览器向服务器发送http请求,请求数据包。6、服务器处理收到的请求,将数据返回至浏览器7、浏览器收到HTTP响应8、读取页面内容,浏览器渲染,解原创 2020-12-31 09:10:40 · 184 阅读 · 0 评论 -
虚拟dom的理解(摘自网络,如有模范,敬请原谅)
vue2.0加入了virtual dom,有点向react靠拢的意思。vue的diff位于patch.js文件中,复杂度为O(n)。 了解diff过程,我们先从虚拟dom开始。到这里人可能会问,模拟DOM是干嘛为什么要这样做?虚拟dom对应的是真实dom, 使用document.CreateElement 和 document.CreateTextNode创建的就是真实节点。我们可以做个试验。打印出一个空元素的第一层属性,可以看到标准让元素实现的东西太多了。如果每次都重新生成新的元素,对性能是巨大的浪费原创 2020-12-30 21:58:12 · 160 阅读 · 0 评论 -
深度监听啊
当需要监听一个对象的改变时,普通的watch方法无法监听到对象内部属性的改变,此时需要deep属性对对象进行深度监听data () { return { form: {id: 1, name: 'milky'} } }, watch: { form: { handler(newVal, oldVal) { // ... }, deep: true, immediate: true }immediate表示在w原创 2020-12-30 19:43:05 · 627 阅读 · 0 评论 -
垃圾回收机制的理解(Marksheng)
Js具有自动垃圾回收机制。垃圾收集器会按照固定的时间间隔周期性的执行。JS中最常见的垃圾回收方式:1.标记清除 方式工作原理:是当变量进入环境时,将这个变量标记为“进入环境”。当变量离开环境时,则将其标记为“离开环境”。标记“离开环境”的就回收内存。工作流程:1.垃圾回收器,在运行的时候会给存储在内存中的所有变量都加上标记。2.去掉环境中的变量以及被环境中的变量引用的变量的标记。3.再被加上标记的会被视为准备删除的变量。4.垃圾回收器完成内存清...原创 2020-12-16 20:01:17 · 101 阅读 · 0 评论 -
arguments的理解?
arguments是一个内置对象,伪数组,看似数组但是不能用数组的方法function fun(){ console.log(arguments);}fun('tom',[1,2,3],{name:'Janny'}); 可以看到下面打印出来的结果,arguments是有值的,它的值就是我们传递进去的参数,虽然我们没有给fun函数定义形参,但是我们还是可以通过arguments来调用传递给函数fun的实参。此外,我们可以看到arguments还有属性callee,length和迭.原创 2020-12-16 17:00:27 · 379 阅读 · 0 评论 -
let ,const, var 的区别?
//let var 语法类似 声明变量let重复声明变量块级作用域变量提升暂时性死区原创 2020-12-16 16:44:47 · 218 阅读 · 0 评论 -
ajax封装(精简篇)
一、什么是AjaxAjax(Asynchronous JavaScript And XML)是2005年新出现的技术,它的出现是为了解决这样一个场景:整个页面中,只有一小部分的数据需要进行更新,按照传统的前后端交互,我们需要向服务器请求该网页的所有数据,然后再在客户端重新渲染,这无疑是非常低效的操作。因此,Ajax就可以做到只向服务器请求我们想要的那一小部分数据,而不用请求全部数据,进而在刷新整个页面的前提下更新那部分的数据。举个例子,我们去饭店吃饭,然后点了一桌子菜,后来发现其中有一道菜太咸了,因原创 2020-12-08 20:38:41 · 7815 阅读 · 1 评论 -
虚拟Dom的基本理解
1、概念:虚拟DOM其实就是用一个原生的JS对象去描述一个DOM节点,实际上它只是对真实 DOM 的一层抽象。最终可以通过一系列操作使这棵树映射到真实环境上。相当于在js与DOM之间做了一个缓存,利用patch(diff算法)对比新旧虚拟DOM记录到一个对象中按需更新, 最后创建真实的DOM2、虚拟dom原理流程模板 ==> 渲染函数 ==> 虚拟DOM树 ==> 真实DOM vuejs通过编译将模板(template)转成渲染函数(render),执行渲染函数可以得原创 2020-12-04 08:44:37 · 3537 阅读 · 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原创 2020-12-03 13:49:32 · 172 阅读 · 0 评论 -
2020web大前端面试题
1.http、html和浏览器1.http和httpshttps的SSL加密是在传输层实现的。(1)http和https的基本概念http: 超文本传输协议,是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。https: 是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL...原创 2020-12-03 12:54:42 · 464 阅读 · 0 评论 -
闭包(简单理解为函数内的局部变量)
1、概念闭包函数:声明在一个函数中的函数,叫做闭包函数。闭包:内部函数总是可以访问其所在的外部函数中声明的参数和变量,即使在其外部函数被返回(寿命终结)了之后。2、特点 让外部访问函数内部变量成为可能; 局部变量会常驻在内存中; 可以避免使用全局变量,防止全局变量污染; 会造成内存泄漏(有一块内存空间被长期占用,而不被释放)3、闭包的创建:闭包就是可以创建一个独立的环境,每个闭包里面的环境都是独立的,互不干扰。闭包会发生内存泄漏,每次外部函数执行的时 候,外...原创 2020-12-03 09:10:31 · 834 阅读 · 0 评论 -
41道精简前端必备面试题(置顶中)
目录组件通信自定义指令Vue中双向数据绑定是如何实现简述虚拟DOM和diff算法keep-alive是什么生命周期共有几个?分别在什么时候使用?路由守卫vuex是什么闭包作用域原型和原型链作用域继承深拷贝浅拷贝let,const,var的区别解构赋值箭头函数和普通函数的区别什么是promiseasync和await双向数据绑定 原理输入url到页面加载完成发生了什么HTTP 状态码组件通信父传递子如何传递.原创 2020-12-09 20:20:14 · 969 阅读 · 0 评论 -
vue+element-ui电商管理之项目实战(1)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言电商管理之项目实战是当代前端新手开发网站必备的一套练习题,也是帮助自己飞速提升的一个过渡提示:以下是本篇文章正文内容,下面案例可供参考一、运用到的技术1.使用vue-cli2.x搭建的开发环境;2.使用vue-router做路由转换;3.使用element-ui做界面美化;4.使用...原创 2020-11-26 20:54:43 · 1163 阅读 · 2 评论 -
promise使用及实现、async,await、generator函数(详解)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、promise使用及实现、async,await、generator函数的概念二、使用1.Promise2.async,awaitgenerator函数总结前言这节课给大家介绍一下promise使用及实现、async,await、generator函数(详解),具体见下文提示:以下是本篇文章正文内容,下面案例可供参考一、promise使用及实现、async,await、generator函数的概念Promise原创 2020-11-25 21:21:08 · 1130 阅读 · 0 评论