前端小白的我的习惯和笔记(一)

快键键

已经敲代码这么久,分享一下本身的小习惯(可能有点乱有点杂)php

win+Shtml

  • 能够说是window用户的神器,能够随意开启全局的软件,配合cmd使用,alt+F4直接关闭这样就省下按鼠标的时间

ctrl+shift+tabnode

  • 在webstorm中快速打开本项目文件也能够直接打开cmd,不会打开webstorm自带的cmd我 习惯使用alt+F12

alt+tabweb

  • 这个切换窗口大家能够用的特别多,可是ctrl+alt+tab大家确定用的少吧,这个大家用多了,就发现仍是比alt+tab好用的,特别你开启不少窗口的时候

ctrl+shift+escchrome

  • 开启任务管理器大家确定知道ctrl+alt+.但是我是68的键盘没有.表示很无奈

ctrl+wnpm

  • 关闭网页用chrome浏览器用多了,蛋疼的是不能双击关闭网页,后来知道能够按滚纶关闭,可是,我鼠标不怎么样,仍是这个比较方便

ctrl+c数组

  • 这个你不会觉得我要跟你说复制,呵呵,这个是webstorm中回到行首,解决了一部分不喜欢的方向键的烦恼

ctrl+tab或ctrl+1,2,3浏览器

  • 快速切换浏览器窗口,能够只是强迫症来的时候用的多,或者吃饭一只手的时候能够用

直接上图dom

对于英语单词仍是比较吃力的我,简直是我人生的福音,超超超级好用phpstorm

phpstorm多窗口alt+窗口

  • 解决用习惯了webstorm快速转移phpstorm,固然少不了快键键了,直接上图

若是你要查看本身的id,直接在cmd输入ipconfig完美解决

下包

在用webstorm打开cmdalt+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 关闭电脑触屏版

  • 语法糖
    • 糖在不改变其所在位置的语法结构的前提下实现了运行时等价,之因此叫语法糖,是由于加糖后的代码写的很爽,代码更简洁流畅语义天然
    • 例如:for循环,三元表达式---

解决node_modules卡顿问题

若是以为乱的话能够看下面的这张图简要的写了一下

Alt+F1第七个 所在的文件路径(最新版webstorm好像不行)

ctrl+shift+左.右 目录调大调小

ctrl+F12 查找定义多少函数等目录(这么高级的功能我还没怎么用过)

alt+左.右 窗口文件左右切换(这么好用仍是常常忘记真的不该该)

Alt+1  打开关闭项目窗口

itar 遍历一个for循环

cc:ie6 兼容ie6(而后改为7,8就好了,不至关于兼容ie6,7,8)

自定义代码块保存路径 找到c盘安装目录config/template里面就是的

给桌面时间添加秒

学习篇

无论何时要不断保持学习的态度

再与产品经理打交道

  • 第三方选择

    • 你能够问清楚对方的真实需求,给出一个你能够作到的方案,而不是直接拒绝对方的方案
  • 在工做和生活中,不要把全部事情的解决方案都放在:不(第一选择,要赢)或者是(第二选择,认怂)上,若是只存在两种选择,很容易就进入一种推拉的环境中,其实是能够考虑第三选择.

  • 第三选择并非某一方的妥协,他的核心思想是创造力,找到新的出路,让双方协同找到一个你们都能接受的新方案

知识篇

js基础部分

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.     字符串转数字类型

  • Number()  
    • 数字类型和小数类型字符串,转换成数字,
    • 非数字字符串,转换成NaN
  • parseInt()
    • 数字开头的字符串,转换以后获得前面的数字
    • 非数字---NaN    小数---取整
  • parseFloat
  • 跟parseInt同理,不一样点是 小数---小数

1.     转布尔类型

  • Boolean()
  •   数字和字符串       true  
  •   undefined null  0   false

1.     逻辑运算符

  • &与  ||或   !非
  • 等号运算符

  • “==”  只判断内容不判断数据类型

  • “===” 判断内容还判断数字类型

  • “!==” 不只判断内容还判断数字类型
  • 条件判断
  • If(条件){true内容}else{false内容}
  • If(条件){true的内容false执行下面内容}else if(条件){true的内容}else{}
  • While(条件表达式){true循环执行,false,循环终止}
  • Break语句    只要代码遇到break,程序当即中止
  • Continue      跳出本次循环,整个循环继续执行
  • Switch(条件){循环体}
  • 三元表达式
  •   表达式?true:false;

  • 优先级
    • ()优先级最高  一元运算符++  -- !
      • /  %  +    -
  • 若是咱们想把函数内部的值赋值为外部,必须使用return;
  • 若是没有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 = [];  //推荐

相关文章
相关标签/搜索