
js
M_zhangzhimiao
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
浏览器Array改变原数组方法原理及实现
改变原数组1.push()往数组末尾添加元素,可一次添加多个Array.prototype.push = function(){ for(var i = 0; i < arguments.length; i++){ this[this.length] = arguments[i]; } return this.length;}2.pop()移...原创 2019-03-10 19:18:54 · 437 阅读 · 0 评论 -
call apply 模拟实现
function demo(a, b) { console.log(a); console.log(b); console.log(this.value);}Function.prototype.call1 = function(context) { context = context || {}; let self = this; let args = []; ...原创 2019-07-29 15:53:07 · 184 阅读 · 0 评论 -
指定一个数,打印从0到这个数指定位数最大值中间的所有数
题目的具体描述:输入数字n,按顺序打印出从0到最大的n位十进制数。比如输入3,则打印出0、1、2一直到最大的3位数999。题目思路:首先,最后一位是从0到9一直循环,知道前面所有位的数都变成9;其次,各个位从右到左都是从0增加到9。...原创 2019-05-21 09:39:13 · 241 阅读 · 0 评论 -
inheritAttrs和$attrs的理解
应用背景:为了更好的传递给后代组件一些属性名和属性值,但不希望所有的后代都继承这些属性名和属性值inheritAttrs就是为了设置子组件是否继承这些属性名和属性值(style和class例外)当inheritAttrs的值为true时,如下:<body> <div id="app"> <base-input required p...原创 2019-04-12 18:02:08 · 339 阅读 · 0 评论 -
vue通过for循环生成的checkbox点击一个选中全部的问题
重点在input的绑定属性value上,如果写成 <tr v-for="(item,index) in list"> <td> <input type="checkbox" :id="index" value="item.id" v-model="checkedItem"> </td> <td>{...原创 2019-04-08 21:49:58 · 13006 阅读 · 11 评论 -
vue实例中方法绑定的依赖值形成死循环
<div id="app"> test: {{ add() }}</div><script>var app = new Vue({ el: '#app', data: { count: 0 }, methods: { add: function(){ return this.count++; } }...原创 2019-04-05 09:54:14 · 635 阅读 · 0 评论 -
vue计算属性和methods的区别
computed(计算属性)和methods的区别使用方式:<!-- 计算属性里方法的调用 --><div id="app"> 总价: {{ prices }} <br/> test:{{ tests }}</div><!-- methods里方法的调用 --><div id="app"> 总价: {{...原创 2019-05-19 11:26:31 · 4783 阅读 · 0 评论 -
求最长回文字符串
最长回文串算法思路:将字符串变为数组,再将数组长度通过填充undefined变为奇数长(在字符中间以及两头插入字符串),从左往右遍历数组,每个字符都用朴素计算法,即判断与字符距离相同的两个字符是否相同,相同则计数器加一,往两侧遍历,直到数组边界或者两侧的符号不同位置。最后遍历存半径长度的数组,找到半径长度最长的字符的位置以及半径长度,通过计算找到源字符串的最长回文串。var longestPa...原创 2019-03-31 10:44:52 · 182 阅读 · 0 评论 -
寻找两个有序数组的中位数
思路:将两个数组排序,然后判断数组长度,长度为单数,则取二分之一处的数,否则取二分之一处和二分之一减一处的数之和除以2.var findMedianSortedArrays = function(nums1, nums2) { var arr = merge(nums1,nums2); if(arr.length == 1){ return arr[0]; ...原创 2019-03-23 09:42:17 · 211 阅读 · 0 评论 -
归并排序
思想:分治法,将数组不断从中间分开。归并操作的工作原理如下:第一步:申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列第二步:设定两个指针,最初位置分别为两个已经排序序列的起始位置第三步:比较两个指针所指向的元素,选择相对小的元素放入到合并空间,并移动指针到下一位置重复步骤3直到某一指针超出序列尾将另一序列剩下的所有元素直接复制到合并序列尾为了保证归并的两个数组为排...原创 2019-03-21 07:40:49 · 133 阅读 · 0 评论 -
js数据类型判断
js类型识别1.对于基本类型以及函数:typeof用法: typeof(val)var a = 'Nich'; //stringvar b = true; //booleanvar c = 12; //numbervar d; //undefinedvar e = null; //objectvar f = {}; //objectvar g = function(){...原创 2019-03-17 13:22:11 · 269 阅读 · 0 评论 -
字符串转整数
请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。该字符串除了有效的整数部分之后也可能会存在多余的字符,这些字符可以被...原创 2019-03-19 21:38:52 · 147 阅读 · 0 评论 -
浏览器Array不改变原数组方法原理及实现
不改变原数组1.concat///连接两个数组,返回新的数组Array.prototype.concat = function(){ var newArr = []; for(var i = 0; i &amp;amp;amp;lt; this.length; i++){ newArr[newArr.length] = this[i]; } for(var i = 0;...原创 2019-03-10 19:23:46 · 489 阅读 · 0 评论