本文章资料主要来自饥人谷2020版前端体系课,本文为课程笔记

数据类型

数字与字符串

  • 功能不同

    • 数字是数字,字符串是字符串
    • 数字可以进行加减乘除,字符串不可以
    • 字符串可以表示电话号码,数字不可以
  • 存储形式不同

    • JavaScript中,数字使用64位浮点数形式存储
    • 字符串使用类似UTF-8形式存储(UCS-2)
      阅读全文 »

Introduction

Interview Process

hacker rank

  • What to expect
Step Process
Resume/ Application Resume skimmer, manual reading, or submitted by recommendation
Coding Challenge Hacker Rank, create a demo app, add a feature to a demo app
Reruiter Phone Screen Friendly, marketing company, questions about why you are leaving. what you are working on, what you want next, etc
Technical Phone Screen Code in a collabedit or google doc. Pair program on adding a feature to a codebase. High-level questions about your domain and project
Onsite Interview Similar to above except in person and 3-6hrs long, sometimes a bit harder
阅读全文 »

Introduction

slide

  • What is an algorithem?

    • Algorithm is just the steps that you take to solve a problem
  • Why should you care?

    • Engineer’s job is to solve problems
  • What will we cover today?

    1. Estimate generally how fast an algorithms is
    2. Use some techniques to optimize certain types of algorithms
    3. Get comfortable with recursion
    4. Implement a couple sorting and searching algorithms
    5. Understand the difference between Divide & Conquer and Dynamic Programming
    6. Learn about the pros and cons of the Greedy technique
    7. Cover a recursive brute force algorithms
      阅读全文 »

本文章资料主要来自饥人谷2020版前端体系课,本文为课程笔记

JS语言

JS版本

  • 历史版本
    • ES3 1999年
    • ES5 2009年
    • ES6 2015年

JS语法

表达式与语句

  • 表达式

    • 1+2这个表达式的值为3
    • add(1, 2)这个表达式的值为函数add的返回值
    • console.log表达式的值为函数本身
    • console.log(3)表达式的值为console.log的返回值,也就是undefined
      阅读全文 »

Introduction

Functional-Light-JS

Why Functional Programming

将所有代码更改为函数式并不现实。所以也没有必要在工作中全部使用函数式风格,函数式有其特有的特性,我们可以在工作中逐渐将代码替换为函数式风格来获得收益。

阅读全文 »

本文章资料主要来自饥人谷2020版前端体系课,本文为课程笔记

什么是动画

  • 定义

    • 由许多静止画面组成(帧)
    • 以一定速度播放
    • 人眼因视觉残像产生错觉
    • 误以为是活动画面
  • 概念

    • 帧: 每个静止的画面为一帧
    • 播放速度:每秒24帧(影视)或每秒30帧(游戏)
  • JS实现方法(使用setInterval与left)

    • 使用setInterval周期性改变元素left或top值,会使浏览器进行repaint
    • 性能及其他问题,可以看这个视频
  • 使用transform实现

    • 使用transform修改transformX或transformY的值来实现
    • 直接修改会被合并到当前的requestAnimationFrame,需要设置延时器延时修改
    • 添加transition属性来自动添加中间帧,没有repaint
      阅读全文 »

Introduction

slides

Responsive Type Overview

  • Typography 101(the concise edition)

  • What is Responsive Typography

  • Variable fonts: responsive type

  • Implementing web fonts well: performence, proportion & polish

  • Typography for reading(with a healthy dose of modern CSS)

  • Editional typography & art direction

  • Responsive Typography in a nutshell

    • Performence: select fonts with care, load what you need & don’t block the page draw
    • Progressive: plan for failure, tune up the loading process & fallback fonts to minimize FOUT
    • Proportion: small screens demand subtle scale
    • Polish: Design is the details: OpenType & then some
      阅读全文 »

提到前端,就不得不提到JavaScript,一般而言,我们会这样形容前端的三大支架

  1. HTML决定了网页的结构
  2. CSS决定了网页的样式
  3. JavaScript决定了网页的行为

那么,JavaScript从何而来,在这篇博客中,我自己总结了一下。

阅读全文 »

Introduction

What is Node.js

tldr; Environment to run JavaScript outside a browser

  • Open source runtime
  • Built on Chrome’s V8 JavaScript engine
  • Created by Ryan Dahl in 2009
  • Evolved since creation to allow developers to build almost anything

nodejs

v8

阅读全文 »
0%