js学习
文章平均质量分 54
迷茫人生真的
这个作者很懒,什么都没留下…
展开
-
javascript 构造函数和原型
构造函数和原型构造函数 是一种特殊的函数,主要用来初始化对象,即为对象成员变量赋值,它总于new一起使用。我们可以把对象中的一些公共的属性和方法抽取出来,然后封装到这个函数里面在js中,使用构造函数时要注意以下两点:1.构造函数用于创建某一类对象,其首字母要大写2.构造函数要和new一起使用才有意义构造函数new关键字在执行时会做的四件事情:在内存中创建一个新的空对象让this指向这个新的对象执行构造函数里面的代码,给这个新对象添加属性和方法返回这个新的对象(所以构造函数不需要retur原创 2021-05-08 22:55:45 · 177 阅读 · 4 评论 -
es6中创建类class
es6中创建类语法class name{ //class body}通过class 关键字创建类,类名我们还是习惯定义首字母大写。类里面有个constructor 函数,可以接受传递古来的参数,同时返回实例对象。constructor 函数 只要new生成实例时,就会 自动调用这个函数,如果我们不写constructor,类也会自动生成这个函数。生成实例new不能省略最后注意语法规范,创建类名后面不要小括号,生成实例类名后面要加小括号,构造函数不需要加functionclass S原创 2021-05-08 22:55:14 · 490 阅读 · 0 评论 -
async await 的错误处理方法 生成随机字符串
async await 的错误处理方法1. try/catches6 的初学者必须知道的捕获错误的方法,因为它是相对来说最保险的,既可以捕获同步错误也可以捕获异步错误。run();async function run() { try { await Promise.reject(new Error('Oops!')); } catch (error) { error.message; // "Oops!" }}try-catch 只能捕获的是同步错误, 只是因为a原创 2021-04-14 12:11:41 · 105 阅读 · 0 评论 -
javascript 判断是上午还是下午 还是晚上
let self=this;let date=new Date(); if(date.getHours()>=0&&date.getHours()<12){ self.hoursTip="上午好" }else if(date.getHours()>=12&&date.getHours()<18){ self.hoursTip="下午好" }else{ self.hoursTip="晚上好" }}原创 2020-12-06 17:59:26 · 5883 阅读 · 0 评论 -
递归深拷贝
var newobj = {} function deepcopy(newobj,oldobj){ for(var k in oldobj){ var item = oldobj[k] if(item instanceof Array){//判断是否为数组?复杂数据类型 newobj[k] = [] deepcopy(newo原创 2020-09-23 19:27:51 · 149 阅读 · 0 评论 -
通过递归函数查询深层数据
<script> var jsonData = [ { id:10, name:'冰箱', goods:[ { id:112, name:'海尔' },原创 2020-09-23 16:04:45 · 206 阅读 · 0 评论 -
PubSub-js 订阅消息和发布消息的使用
什么是 pubsub?PubSubJS is a topic-based publish/subscribe library written in JavaScript.即 一个利用JavaScript进行发布/订阅的库详细参考概念pubsubjs使用发送消息:PubSub.publish(名称,参数)订阅消息:PubSub.subscrib(名称,函数)取消订阅:PubSub.unsubscrib(名称)具体事例我这里用于Vue中兄弟组件的传值发布消息触发事件订阅消息坑! 记得原创 2020-09-08 22:32:35 · 1154 阅读 · 1 评论 -
js随机数组里的值,随机0-10整数random
测试正确:var arr = [40,48,50,58];var min = 0;var max = 4;var rand = Math.floor(Math.random()*(max-min+1))+min;console.log(arr[rand]) // 0,1,2,3,4,5,4,1,2,4,10Math.ceil(); //向上取整。Math.floor(); //向下取整。Math.round(); //四舍五入。Math.random(); //0.0 ~ 1原创 2020-09-07 20:14:29 · 10054 阅读 · 0 评论 -
一个数组同时删除多个元素
一个数组同时删除多个元素let shopCart = state.shopCart; let deleteindex = [] let productList = Object.values(shopCart); productList.forEach((item,index)=>{ if(item.ischecked){ deleteindex.push(item.id)原创 2020-09-06 14:00:46 · 1316 阅读 · 0 评论 -
delete方法(删除对象属性、变量)
1.删除全局/非全局定义的对象的属性obj = {a:1,b:2,c:3}delete obj.a console.log(obj) //Object {b: 2, c: 3}原创 2020-09-05 23:30:43 · 1026 阅读 · 0 评论 -
json.stringify()的妙用,json.stringify()与json.parse()的区别
一、JSON.stringify()与JSON.parse()的区别最近做项目,发现JSON.stringify()使用场景真的挺多,我们都知道JSON.stringify()的作用是将 JavaScript 对象转换为 JSON 字符串,而JSON.parse()可以将JSON字符串转为一个对象。简单点说,它们的作用是相对的,我用JSON.stringify()将对象a变成了字符串c,那么我就可以用JSON.parse()将字符串c还原成对象a。let arr = [1,2,3];JSON.str原创 2020-09-05 11:53:31 · 248 阅读 · 0 评论 -
Object.keys||Object.value方法之详解
一、语法Object.keys(obj)参数:要返回其枚举自身属性的对象返回值:一个表示给定对象的所有可枚举属性的字符串数组二、处理对象,返回可枚举的属性数组let person = {name:"张三",age:25,address:"深圳",getName:function(){}}Object.keys(person) // ["name", "age", "address","getName"]三、处理数组,返回索引值数组let arr = [1,2,3,4,5,6]Obj原创 2020-09-05 00:02:12 · 6492 阅读 · 0 评论 -
shortid:生成短的id
可以生成无序的idnpm install shortid --saveconsole.log(shortid.generate());// PPBqWA9原创 2020-08-30 21:19:54 · 1183 阅读 · 0 评论 -
自增和自减解释
console.log(num++); //先打印num的值,然后再执行加1console.log(++num); //先执行加1,然后再打印num的值练习:以下程序的结果是? var a = 1; console.log(a++ + ++a); //a=3 console.log(a++ + ++a + a++)//1+1+2+3=7上面的运行机制是1.先是 a...原创 2019-07-20 20:30:59 · 169 阅读 · 0 评论