苹胖学习记录(二)4.1

  • 练习
  1. 猫动画
  2. js简单获取
  3. WEUI使用以及简单的js插元素
  • JS
  1. 时钟
    获取时间计算出指针偏转的角度并改变转心用setInterval(),定时调用即可
  2. 构造函数 Constructor 原型 prototype 实例 instance
    三者关系

    构造函数 Person 可以生成实例 person ,都有自身不同的属性指向原型,通过这个指向原型的属性可以拿到定义好的方法函数和成员变量。他们是三个互相独立的个体,只不过他们有各自的属性指向对方,从而建立了联系。所以在构造函数上定义的静态函数,不能被实例调用。
    继承
    Person.prototype = new Animal('earth');
    继承实质上只是把原型更改成另外一个实例,从去获取那个实例带有的属性(也包括函数类型)。
  3. 类型选择
    JS里的typeof能判断的复杂数据类型只有function,其他的都是object。所以,不能用原生的typeof。
var Type = {};
    for (var i=0, type;type = ['String','Array','Number'][i++];) {
        (function(type) { 
            Type['is' + type] = function(obj) {
                return Object.prototype.toString.call(obj) === `[object ${type}]`;
            }
        })(type)
    }

辨别方法是利用Object原型的toString方法转交得到的字符串做对比,从而确定数据类型。

  1. open-book
    用两个盒子,其中一个盒子transform: rotateY(180deg);紧贴另外一个盒子组成page。
    翻页就用鼠标移动事件来做,并依靠鼠标点下和放开事件给一个信号量,改变整个page的style的transform:rotateY()。
  • CSS
  1. 豆瓣PC
    flex在老浏览器不兼容,大部分布局都是float,但是float有很多坏处,所以用更好的inline-block、grid。
    豆瓣里的四宫格ul>li>div>a>img用inline-block做
  2. 世界杯页面仿写
    待完成
  3. flexible十分之一
    原博客的说明
  4. 火焰
    用滤镜写了一个小火花的样式后,再用stylus里的for循环做多个火花,并取随机数做动画延迟。
  5. 飞机
    简单的定位,和旋转以及translate3D动画
  • ES6
  1. 使用map()快速处理

arr.forEach(function(ele形参){});     //arr多长就循环几次
arr.map(function(ele形参){
    return ???;
});     //每次循环返回一个元素替掉原数组的元素
或者arr.map(形参 => {
    return ???;
});     //其中ele和其他形参都是arr[n]

模版字符串`我叫${name},我有${age}岁;`
即``字符串中可以插入变量不用+号

arr.join(a)可以快速用a分隔数组做成字符串

  1. function和箭头函数

注意参数箭头之间不能换行
arguments所有函数里面(除了箭头函数)都可以用的变量
箭头函数不支持重复命名形参,普通函数可以(a,a)
箭头函数不能使用call apply 等方法改变this
箭头函数没有 this 它的 this 指向定义时所处的上下文(外部函数)的this
箭头函数没有原型对象 .prototype
箭头函数不能作为构造函数箭头函数没有 arguments

    function Person() {
        if(!new.target){
            console.log('只能使用new调用该构造函数');
        }
        console.log(new.target);
    }
    Person();

返回一个对象的正确做法
var arrow_4 = () => ({name:'马冬梅', age:19})

  1. 数组解构和reset
  • ES6支持解构const [a,[b],c]=[18,[20],30];
    对象也支持解构
    const obj = {
    foo:'foo val',
    bar:'bar val',
    baz:'baz val'
    }
    const {baz, foo:str1}=obj;
    const obj1 = {
    p:['hello',{msg:'Wolrd'}]
    }
    const {p:[a,{msg:b}]} = obj1;
  • const this_age = ages.find((ages) => ages.age > 18);//找满足条件的第一个
    const this_age_filter = ages.filter((ages) => ages.age > 18);//找满足条件的所有
    const this_age_every = ages.every((ages)=> ages.age > 18);//判断是否所有都满足条件
    const this_age_some = ages.some(ages=> ages.age > 18);//判断是否有其中某项满足条件
  • ES6从类数组对象建真数组对象有两个条件
  1. 有length 对象
  2. 通过索引 获取值
    const objarr = Array.from(obj);
  • ES5中的方法
    function sum() {
    const args = Array.from(arguments);
    console.log(args.map(arr => 2*arr),args);
    // return [2,4,6,8];
    }
  • // rest 参数 形式(...变量名)
    // 作用:获取函数多余参数
    // 搭配的变量是一个数组
    // rest参数不在最后一个的报错:Rest parameter must be last formal parameter
    const arrow_sum = (a,...args) => {
    console.log(a,args);
    }
    arrow_sum(1,2,3,4);
  • ...相当于rest 参数的逆运算
    const arr = [18,19,20];
    console.log(...arr);//等同于console.log((18),(19),(20));
    console.log(Math.max(...arr));//等同于console.log(Math.max((18),(19),(20)));
  • webgl
  1. 用three.js做3d效果地球
    配置canvas/* 幕布 /,camera/ 照相机 /,scene/ 场景 /,group,renderer/ 渲染器 */
    添加球体(加载贴图)到组,组加载在场景里,渲染器渲染到页面上。
    动画就用requestAnimationFrame(animate);不停的刷新canvas的静态照片
  • SVG
  1. 加载笑脸的购物袋
    transform使嘴转动,stroke-dashoffset和stroke-dasharray截断做类似上次霓虹灯的效果,眼睛的移动动画用SVG路径做
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,921评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,635评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,393评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,836评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,833评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,685评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,043评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,694评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,671评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,670评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,779评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,424评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,027评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,984评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,214评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,108评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,517评论 2 343

推荐阅读更多精彩内容

  • 慕课网@JoJozhai 老师 TypeScript入门课程分享 TypeScript入门 ES5,ES6,JS,...
    shangpudxd阅读 10,414评论 0 22
  • 用更合理的方式写 JavaScript 目录 声明变量 对象 数组 字符串 函数 箭头函数 模块 迭代器和生成器 ...
    小红依阅读 1,789评论 0 5
  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 9,446评论 0 13
  • JavaScript的相关语法知识:1、函数(important)基本上所有的高级语言(C、OC、JavaScri...
    天山雪莲_38324阅读 621评论 0 2
  • 中秋节,我的面前摆了三堆月饼,一堆是大姑询遍多人,在一个犄角旮旯小胡同里的小作坊打的手工月饼,一堆是妹夫送的包装精...
    韩荣轩阅读 213评论 0 0