一点点开发经验(二)

1.当你使用某些标签的时候,可能你没有写闭合标签,但是后来浏览器渲染的时候给你补上了,例如<table><td>123</table>,但是后来浏览器渲染的时候 是 <table><thead><tr><td>123</td></tr></thead></table>,虽然说这样可以节省网络流量,但是可能会出现兼容性的问题,不是所有的浏览器都会给你补上的。


2.数组的创建方式有两种
◆var arr1=[];//字面量的方式定义
◆var arr2=new Array();//创建对象的方式定义


3.数组的初始化
◆var arr1=[1,2,3,4,5];//直接初始化
◆var arr2=new Array(1,2,3,4,5);//直接初始化
★var arr3=new Array(5);//这个是设置数组的默认容量,也就是数组中有五个元素了,但是都是未进行赋值,也就是undefined。
★给数组赋值既可以在创建数组的时候直接初始化,也可以arr4[0]=1;的方式来进行赋值,反之也可以通过arr4[0]的方式来获取数组中的值。


4.咸菜条子和大碴子粥更配哦。


5.js中的数组不需要提前定义容量,你插入多少数据,容量就是多少,数组的长度也是多少,所以你给数组添加元素时可以拿数组的长度作为索引下标,如 var arr=[]; arr[arr.length]=1;arr[arr.length]=2;arr[arr.length]=3;,这么做是因为数组的长度会随着你添加了的元素个数而改变,并且数组的下标从0开始,数组中没有元素时数组的长度就为0;


6.https://developer.mozilla.org/zh-CN/(web开发的网站)


7.面试的时候,其实别人面试你就是面试你自不自信,看你的自信心有多强,他势必会把你压制住,或者势必会问到一些你不会的,特殊情况是他觉得你这个人还行,薪资也都还差不多,那么就不会把你难住也不会难为你,不然他会问一些你的边界问题,比如实际工作不会用的很多但是理论性比较强的一些知识,想知道你的极限在哪里,面试的时候要清楚如何能够把场面控制住。


8.字符串有不可变性,每一次更改字符串,都会在内存中开辟一块儿新的空间。


9.冒泡排序实际上是数组中相邻的两个元素互相比较,满足条件之后就会互换位置
◆ 需要双重for循环
◆比较的轮数 默认是数组元素的个数减1
◆每轮比较的次数 默认是数组元素的个数减1
◆满足了相邻的两个元素互相比较的条件之后,就会互换这两个元素的位置,从而达到大的值或最小的值不断的往前面放或者往后面放的目的
◆随着每轮的比较,最大的或最小的会被放在最前面或最后面,那么就可以少比较几次,因为那几次没有意义,那多余的几次等于已经比较了多少轮的轮数
◆这个过程中 可能会出现 提前排序完毕的情况发生,那么可以在外循环中加一个判断,只要本轮内循环中没有发生数组元素位置交换的情况,那么直接结束外循环。
◆在外循环中定义一个标识,只要内循环中的判断条件达成了,那么就改变这个标识的值,说明有数组元素的位置发生了改变,内循环的下面设置判断标识是否是默认值,如果是默认值那么久说明内循环中的判断条件在本轮中一次都没有达成,本轮数组元素的位置没有任何变化,那么下一轮也不会发生任何变化,所以就可以直接外循环了。【开闭思想】定义标识,判断标识,达到即时的结束循环的目的。


10.程序是树,bug是花,没有花,哪儿来的果。(解决bug的能力,才是硬实力)


11.科学的bug处理顺序 前台-》后台-》逻辑-》断点


12.正常情况下,bug调试尽量不要超过20分钟,因为超过了,你的情绪以及思路会是乱的,这种情况下,继续下去就是闯入一个冒着黑色火焰的无底洞。


13.开发速度和语义化,酌情处理
posted @ 2018-06-10 18:04  我叫贾文利  阅读(85)  评论(0编辑  收藏  举报