已经敲代码这么久,分享一下本身的小习惯(可能有点乱有点杂)php
win+S
html
alt+F4
直接关闭这样就省下按鼠标的时间ctrl+shift+tab
node
alt+F12
alt+tab
web
ctrl+alt+tab
大家确定用的少吧,这个大家用多了,就发现仍是比alt+tab
好用的,特别你开启不少窗口的时候ctrl+shift+esc
chrome
ctrl+alt+.
但是我是68的键盘没有.
表示很无奈ctrl+w
npm
ctrl+c
数组
ctrl+tab或ctrl+1,2,3
浏览器
直接上图dom
对于英语单词仍是比较吃力的我,简直是我人生的福音,超超超级好用phpstorm
phpstorm多窗口alt+窗口
若是你要查看本身的id,直接在cmd输入ipconfig
完美解决
下包
在用webstorm打开cmd
alt+F12
npm init npm install 包名 --save //save把包信息放在package dower install 包名 //直接在本文件夹下面生成包,你要是怕麻烦能够用这个下包工具
其实你也能够直接报npm的下载地址改为淘宝镜像,在安装路径npm文件夹下
npmrc
文件
ctrl+shift+F10
webstorm直接打开浏览器若是是js文件就会直接打开控制台
ctrl+A两次
在用oneNote的时候你会发现ctrl+A会全选一行内容,两次就会全选所有内容
F11
全屏--看视频专用
win+左/右
分屏,能够适合边看文档边敲代码
win+上 全屏
win+下 最小化(这个是否是很贴心又解决了用鼠标的烦恼呀)
Fn+F6
关闭电脑触屏版
若是以为乱的话能够看下面的这张图简要的写了一下
Alt+F1
第七个 所在的文件路径(最新版webstorm好像不行)
ctrl+shift+左.右
目录调大调小
ctrl+F12
查找定义多少函数等目录(这么高级的功能我还没怎么用过)
alt+左.右
窗口文件左右切换(这么好用仍是常常忘记真的不该该)
Alt+1 打开关闭项目窗口
itar
遍历一个for循环
cc:ie6 兼容ie6(而后改为7,8就好了,不至关于兼容ie6,7,8)
自定义代码块保存路径 找到c盘安装目录config/template
里面就是的
无论何时要不断保持学习的态度
再与产品经理打交道
第三方选择
在工做和生活中,不要把全部事情的解决方案都放在:不(第一选择,要赢)或者是(第二选择,认怂)上,若是只存在两种选择,很容易就进入一种推拉的环境中,其实是能够考虑第三选择.
第三选择并非某一方的妥协,他的核心思想是创造力,找到新的出路,让双方协同找到一个你们都能接受的新方案
1、 数据类型
1) Number 数据类型
2) String 字符串(双引号, 单引号)
3) Boolean 布尔数据类型(true, false)
4) undefined 变量未初始化(没有给变量赋值)
5) null 变量未引用(值为空)
6) object 对象 array 数组
2、 算术运算符
1) 两个数字类型变量相加或相减,获得一个数字类型
2) 一个数字类型和一个字符串相加,获得一个字符串
3) 一个数字类型和一个非数字类型的字符串获得NaN
3、 Math对象
1) Math.ceil() 天花板函数 向上取整(1.1---2)
2) Math.floor() 地板函数 向下取整(1.1---1)
3) Math.max() Math.min()
4) Math.pow(n1,n2) n1的n2次方
5) Math.round() 四舍五入
6) Math.random() [0,1)的随机数
4、 数据类型转换
1. 数字类型转字符串
a) Strong() b)变量.toString()
1. 字符串转数字类型
1. 转布尔类型
1. 逻辑运算符
等号运算符
“==” 只判断内容不判断数据类型
“===” 判断内容还判断数字类型
表达式?true:false;
若是没有return或者return没有值,那么返回值都是undefined
//隐式全局变量
//隐式全局变量 function fn(){ //b和c都是隐式全局变量 var a = b = c = 1; //e和f都是隐式全局变量(分号至关于换行) var d = 1;e =2;f=3; //g和i都不是隐式全局变量 var g = 1,h= 2,i=3; }
对象自己没有length,因此不能用for循环遍历
11. for(var k in aaa){ // console.log(k); // //aaa.k表明aaa这个对象的k属性的值,并非k对应的变量值的属性。 //// console.log(aaa.k); // //aaa[k],表明的是aaa这个对象中k这个变量值对应的属性值。 // console.log(aaa[k]); // }
var num = 1; fn1(num); console.log(num); function fn1(aaa){ aaa = aaa*10; } //复杂数据类型 var obj = new Object(); obj.name = "张三"; fn2(obj); console.log(obj); function fn2(object){ object.name = "李四"; }
五 判断数组和转换数组。
Instanceof: 是一个关键字。 判断A是不是B类型。
布尔类型值 = A Instanceof B ;
Array.isArray() //HTML5中新增 判断是否是数组
布尔类型值 = Array.isArray(变量) ;
调用者:Array 参数:变量(被检测值) 返回值:布尔类型
toString() //把数组转换成字符串,每一项用,分割
字符串 = 数组.toString();
valueOf() //返回数组对象自己
数组自己 = 数组.valueOf();
Join //根据每一个字符把数组元素连起来变成字符串
字符串 = 数组.join(变量);
变量能够有能够没有。不写默认用逗号分隔,无缝链接用空字符串。
六 数组增删和换位置(原数组讲被修改)
push()
在数组最后面插入项,返回数组的长度
数组1改后的长度 = 数组1.push(元素1);
pop()
取出数组中的最后一项,返回最后一项
被删除的元素 = 数组1.pop();
unshift()
在数组最前面插入项,返回数组的长度
数组1改后的长度 = 数组1.unshift(元素1);
shift()
取出数组中的第一个元素,返回最后一项
被删除的元素 = 数组1.shift();
reverse()
翻转数组(原数组讲呗反转,返回值也是被反转后的数组)
反转后的数组 = 数组1.reverse();
sort();
给数组排序,返回排序后的数组。如何排序看参数。
从小到大排序后的数组 = 数组1.sort(function(a,b){ return a-b;});
无参:按照数组元素的首字符对应的Unicode编码值从小到大排列数组元素。
带参:必须为函数(回调函数--callback)。函数中带有两个参数,表明数组中的 先后元素。若是计算后(a-b),返回值为负数,a排b前面。等于0不动。 返回值为正数,a排b后面。
concat()
把参数拼接到当前数组
新数组 = 数组1.concat(数组2);
slice()
从当前数组中截取一个新的数组,不影响原来的数组,参数start从0开始,end从1开始
新数组 = 数组1.slice(索引1,索引2);
splice()
删除或替换当前数组的某些项目,参数start,deleteCount,options(要替换的项目)
新数组 = 数组1.splice(起始索引,结束索引,替换内容);
indexOf()、lastIndexOf()
若是没找到返回-1
索引值 = 数组.indexOf/lastIndexOf(数组中的元素);
迭代方法 不会修改原数组
every()、filter()、forEach()、map()、some()
数组/boolean/无 = 数组.every/filter/forEach/map/some( function(element,index,arr){ 程序和返回值; } );
这个属于ES6的内容我仍是在后面详细介绍吧
清空数组
var array = [1,2,3,4,5,6];
array.splice(0,array.length); //删除数组中全部项目
array.length = 0; //length属性能够赋值,其它语言中length是只读
array = []; //推荐