
javascript
文章平均质量分 85
TyrionJ
这个作者很懒,什么都没留下…
展开
-
深入前端尾递归
本文主要讨论了以下几个问题1)前端中的尾递归,介绍了递归,尾调用,和尾递归三个基本概念。2) 说明了尾调用的优化需要在严格模式下才会生效,尾调用优化在safari浏览器中得到实现。3)递归可能造成调用栈溢出4)可以使用循环解决调用栈溢出问题5)封装了trampoline函数和tco函数,这两个函数中巧妙利用循环解决了调用栈溢出的问题。尾递归优化的实现。原创 2023-02-19 17:19:04 · 452 阅读 · 0 评论 -
深入JavaScript对象
对象在js中是一个重要组成部分,在实际的项目开发中关于对象我们可能会遇到以下但不局限于以下的使用场景创建一个或多个不同对象使用for-in 循环来遍历对象给已有对象添加新的属性或者删除已有属性进一步当我们在使用for-in 循环来遍历对象时,为了避免遍历原型链上的属性,会使用hasOwnProperty方法来过滤继承的属性。因为for-in 会遍历自身及原型链上所有可枚举的属性。进而言...原创 2020-01-04 13:19:02 · 151 阅读 · 0 评论 -
关于Vue子组件data选项某个属性引用子组件props定义的属性的几点思考
学过Vue的都知道Vue等MVVM框架相对于传统的JS库比如Jquery最大的区别在于数据驱动视图,重点在于数据,拿到数据后将数据通过模板{{}}语法或者v-html展示在页面上。我们也都知道在Vue父子组件可以通过Props实现父组件传递到子组件。在项目开发中,我们会遇到这种需求,页面初始化时,父组件通过接口拿到需要数据,然后拿到的数据通过props传递给子组件。在子组件会有些业务上的操作来...原创 2018-10-14 14:09:23 · 9134 阅读 · 2 评论 -
合理使用break优化switch语句
合理使用break优化switch语句var data = getBymethod(); // 通过getBymethod获取到的变量dataswitch (data) { case '01': ... //code block 01 here break; case '02': ... //code block 01 here ...原创 2018-08-10 23:18:56 · 328 阅读 · 0 评论 -
Javascript原型相关总结
本文主要针对JS中原型结合自己的理解进行总结,如有不正确之处,欢迎指正。 既然说到原型,那么函数是不可避免的,下面我们先看看函数中的工厂函数和构造函数关于工厂函数工厂函数或者工厂模式重点在于工厂,所谓“工厂”在于批量创造同一类的东西。JS中的工厂函数吗目的是在于创造相同特性的对象,这里的特性指对象的属性和方法。比如在实际开发中,我们要操作多个对象,这些对象都有相同的属性和方法,如...原创 2018-07-22 02:10:43 · 251 阅读 · 0 评论 -
数组拷贝常用方法小结
在实际项目开发中,我们需要对一个数组进行处理,但不想改变原数组,因为原数组还会用到,这时我们会考虑复制一个数组,操作复制后的数组。误区给定一个数组arr = [1,2,3],我们想对这个数组尾部添加一个元素4,但不能改变arr,初学者可能会犯这样的错。var arr = [1, 2, 3]var b = a;b.push(4)console.log(b) // [1, ...原创 2018-07-26 20:40:28 · 595 阅读 · 0 评论 -
编程练习(1)Sort the odd
InstructionsYou have an array of numbers.Your task is to sort ascending odd numbers but even numbers must be on their places.Zero isn't an odd number and you don't need to move it. If you have an...原创 2018-07-21 12:07:24 · 643 阅读 · 0 评论 -
三行JS代码配合css解决element-ui selecct组件选项文本过长bug
项目中用到可下拉选择可输入框,于是自然想到element-ui的select组件。当select组件的下拉选项不满足要求时用户可以输入自己需要的选项。那么问题来了。在某种特殊的情况下,输入的文本过长,而select组件的宽度是固定的(从页面美观的角度基本不允许文本框宽度自适应),这样输入的文本会溢出select组件。 接下来我们分两步来解决这个问题。1)CSS控制宽度,给输入项一个固定的宽度...原创 2018-05-16 21:59:16 · 10017 阅读 · 1 评论 -
JavaScript中是否改变原数组的数组常用方法总结
如图所示由上面的表格可以看出 push,pop,unshit,shift,reverse,splice改变原数组。关于上述数组的详细用法请参考我的另一篇文章数组和字符串方法总结原创 2018-05-13 20:32:27 · 1001 阅读 · 0 评论 -
JavaScript如何判断一个整数是否为质数
在https://www.codewars.com上做js练习碰到这样一道题。下面是原题的说明InstructionsIs Prime Define a function isPrime/is_prime() that takes one integer argument and returns true/True or false/False depending on if the intege原创 2018-02-08 13:33:53 · 1324 阅读 · 0 评论 -
异步:现在与未来
写在前面的话本文是你不知道的JavaScript(中卷 )读书笔记,文章中的很多例子都来源于原书,当然本文也结合了自己的一些理解及总结归纳,如果你能看到这篇文章,请批判的阅读本文。1 分块的程序程序无论简单或者复杂,无论基于何种编程语言,都是由代码块组合而成的,每个代码块都扮演着自己角色,相互分工,相互合作,从而让一个程序运行起来。在JavaScript(后面简称JS)中,可以把JS程序写在.js文原创 2017-12-29 23:45:30 · 252 阅读 · 0 评论 -
说说ES6 Promise
回调是JavaScript异步编程一种常用的手段,但这种手段有着局限性。1)使用多个回调或者嵌套回调会使代码变得非常复杂,难以理解和维护。2)如果你创建的回调函数在你使用的第三方插件或函数中调用,这会带来信任问题,比如有一天第三方API发生改变,(比如异步请求,5s内服务器没有响应会重新发送请求)你的回调可能被调用多次,而更加糟糕的是如果第三方函数是与支付相关的接口,用户可能会对同一件商品多次付款,原创 2017-12-31 13:55:11 · 309 阅读 · 0 评论 -
编程思考(一)
自进入前端以来,js权威指南这本书看过两遍,这一次结合codewars网站上js编程练习,温故知新。 这是一道在codewars上练习JS编程遇到的题目,个人觉得很经典,涉及到的知识点很多,因此就本题对涉及到的JS知识点做个相对全面的总结。原题function highAndLow(numbers){}Description: In this little assignment you are原创 2017-11-28 23:07:30 · 476 阅读 · 0 评论