美文网首页
tws实训笔记

tws实训笔记

作者: stanf1l | 来源:发表于2017-09-13 22:11 被阅读0次

    7.10

    1. shift():用于把数组的第一个元素从其中删除,并返回第一个元素的值
    2. for in 是遍历键名,for of是遍历键值
    "use strict";
    let arr = ["a","b"];
    for (let a in arr) {
        console.log(a);//0,1
    }
    
    for (let a of arr) {
        console.log(a);//a,b
    }
    
    1. 模板字符串``  ${ }
    2. let: js增加的块级作用域,和c中的局部变量特征类似
    3. ctrl+w :选中单词
    4. 计时
    5. toFixed(2),保留小数点后两位
    6. 创建数组 let arr = new Array();
      创建对象 let obj = new Object();
      若不进行初始化,在添加属性值的时候会报错(undefined);

    7.11

    1. let arr = [1,2,3,4];
      arr.splice(index,length); 删除数组元素
    2. 别用i,j 做循环变量,容易出错!!
    3. deepCopy:
    * array.slice(start,[end])  该方法复制数组array中[start,end)所指定的元素,返回一个Array.
    * 对象深拷贝
    let deepCopy = function(source){
      let result = {};
      for(let key in source){
        result[key] = typeof source[key]===object ? deepCopy(source[key]) : source[key];
      }
      return result;
    }
    
    let map = new Map(); map.set();map.get();map.have();
    let set = new Set(); set.add();set.have();
    
    1. 多用for-of for-in循环
    2. 不要把array.length 写成 array[array.length],可以新建一个length=array.length,
      then array[length]
    3. 不像其他编程语言,js:5/2=2.5

    7.12

    1. stringObject.split(separator,howmany),返回一个字符串数组
      split("")每个字符都会被分隔
    2. arrayObject.join(separator) ,返回一个字符串.该字符串是通过把数组中的每一个元素转换为字符串,然后把这些字符串连接起来生成的.
        separator: 可选,default用逗号(,)作为分隔符
    3. 对数组操作的函数:
      shift(),unshift(),pop(),push()
    4. 第一步:结构化
       第二步:计算,逻辑
       第三步:傻瓜式打印,打印不添加任何逻辑
      三步之间相互分离,不互相依赖.Code 是将一个数据结构转化成另一个数据结构的过程
    5. TDD CI
      写测试:given-when-then
      写代码:可测试性
       可读性:一个函数15行内
       可维护性:自动化测试网络
       可扩展性
       先写测试,再写实现

    7.13

    1. jasmine
    2. 1==true 0==false
    3. Math对象方法
        abs()
      ceil(),floor(),round()
      max(),min()
      pow(),sqrt()
      random() 返回0-1之间的随机数
    4. expect()
      toEqual() 类似于deepcopy的比较,对比每一个属性
      toBe() === 判断两个实例是否是同一个内存块上的实例
    5. 对于高级类型Array & Object ==/=== 是没有区别的,均是判断他们是否指向同一个内存快上的Array/Object
    6. (1.00 === 1) 类型均是Number

    7.14

    1. 面向对象:
      1)单一职责
      2)开闭原则:扩展开放,修改关闭
      3)替换原则:子类可以替换父类,但是父雷不能替换子类
      4)依赖倒置:
      5)接口隔离:

    接口

    1. json

    2. ES6 class 内不能再定义属性,而是直接在constructor 里面初始化就好了,在函数中调用属性的时候用this.property调用.

    3. the maximum call stack size of Node.js: 11034

    4. js构造函数不重载

    5. 'null' is not a standard type.

    6. ES6 类

    7. 'use strict';

    8. js中没有私有成员,全是共有

    9. Array.indexOf() 查看是否包含字符,否则返回-1

    7.17

    1. 扩展运算符(...)将一个数组扩展成参数序列

    2. console.log([1,[0,[2],3],'a'].toString());  // 1,0,2,3,a
      数组.toString()会对数组中每一个元素调用.toString()

    3. arrayObject.concat(array1,array2,array3...) 连接多个数组
        arrayObject.slice(start,end)   返回指定元素
        arrayObject.sort(cmp) cmp()函数另外定义 ,default为按字符串比较
        arrayObject.splice(start,howmany,(newarray/item1,item2,item3...))
      splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。

    4. 对象的prototype属性使您有能力向对象添加属性和方法

    5. arrayObject.filter()
      arrayObject.map()
      arrayObject.reduce()
      arrayObject.some()判断数组中是否存在满足条件的元素,返回ture/false
      arrayObject.every()
      arrayObject.indexOf()

    7.20

    1. bootstrap 栅格
    2. <link> 链接一个外部样式表

    7.24

    1. 页面文件全部载入 DOMContentLoaded
    2. event.preventDefault(); 阻止默认函数对事件进行处理
    3. addEventListener(){return false;} 切断责任链,阻止冒泡

    网页页面制作

    1. 到bootstrap上寻找模板
    2. 代码不能实现功能:到网页debug,watch变量,找到问题所在,google解决办法
    3. jquery的使用

    7.27

    1. redis 中get(key)如果不存在,返回值是null;

    相关文章

      网友评论

          本文标题:tws实训笔记

          本文链接:https://www.haomeiwen.com/subject/riolsxtx.html