美文网首页
无标题文章

无标题文章

作者: wwzwwz | 来源:发表于2017-07-13 09:01 被阅读0次

    # javascript 笔记

    ## 1

    - confign (sudo)

    - node

    - npm init ->

    - npm install gulp-cli -g

    - npm install gulp gulp-eslint eslint --save-dev

    - cp uses/gulfile.js .

    - gulp lint 执行gulp lint下的命令

    - vi t.ts

    - gulp ts -> 转为js

    ## 1

    - 建一个项目 就需要一个目录(所有开发的代码)

    - 自定义的配置(gulp babel etc)

    - 调试代码

    - type

    - primitive

    - number string bool null undefined -> stack

    - reference

    - array function object -> heap

    - stack vs heap -> javas.object 1.2

    - thread the smallest sequence of programmed...

    - var vs let 阮一峰

    - python a = 1 b = 1 vs js .. object

    - python

    ---

    >>> a = 1

    >>> b = a

    >>> id(a)

    140520881953992

    >>> id(b)

    140520881953992

    >>> b = 2

    >>> id(b)

    140520881953968

    >>> id(a)

    140520881953992

    - 可变 VS 不可变

    - js 原始不可变

    - python 数值 字符串 元组

    - chrome -更多工具 开发者工具

    - addition emmet

    - alias jsc='/System/Library/Frameworks/JavaScriptCore.framework/Versions/Current/Resources/jsc'

    # Chapter 2

    - 强类型 vs 弱类型

    -- var a:number = 1;

    - var vs let

    -- 可以定义两次变量 ?

    - pythontutor

    - var 和函数 在编译的时候会放在前面,let不放在前面

    - 变量第一个不能是数字,无法和数字进行区分

    - Array.isArray

    - 0 ->8 0x->16 0b->2

    - parseInt('number', jinzhi) ----> 10

    - a = number; a.tostring(jinzhi);

    - NaN != NaN;

    - Number.isNaN vs isNaN()

    - 10 * 'f' --> NaN

    - console.log(isNaN('test')) -> true

    - console..(Number.isNaN('test')) -> false

    - parseInt("100 djfkj") -> 100

    - + "100 ddd" -> NaN

    - boolean({}) - > true

    - var b = b && 1; //b underfined

    - var b = 10; ..... b = 1;

    - 事实上就是看运行到什么地方,返回给最后一个

    - var a = b = 1; x

    -- 先运行b = 1,有了返回值然后a = 返回值;

    # Chapter 3

    -  function arguments

    - 变量默认var 全局变量

    ```

    var a = 123;

    function f() {

    var a; // same as: var a = undefined;

    alert(a); // undefined

    a = 1;

    alert(a); // 1

    }

    ```

    function a() {

    alert('A!');

    a = function () {

    alert('B!');

    };

    }

    第一次是A!,以后每次都是B!

    - var a = "global variable";

    var F = function ()  {

    var b = "local variable";

    var N = function () {

    var c = "inner local";

    };

    };

    - 数组序号存储在堆里面,序号代表偏移区间

    var a = 0;

    if (a) {

    function aname() {

    // keyibeidiaoyong

    }

    }

    - arguments[]  //  类似数组

    - Array.prototype.silce(arguemnts)

    - 函数的定义是放在最前面的

    - aname.length() 行餐叔 arguemtns()给了几个参数

    - var c = Array.prototype.slice.call(arguments);

    console.log(c.reduce(function(a, b)))

    - 函数的参数的作用域是夹在out && in

    - rest parameters ...quotes

    - spread operator

    - apply call bind

    - 在let a之前 调用a是错误的

    - Constants are block-scoped just like variables created    using the let keyword

    - Functions are data

    - a()() 直接执行函数和她的返回值 p98

    - a() 只返回链接

    - imiediate function返回链接的话可以直接执行

    - three scope

    -- global, function, code block(let,const)

    -- global 运行在浏览器,所有的变量或者方法属于windows这个对象

    -- var a = 1; console.log(a); console.log(windows.a)

    -- setTimeout & setInterval

    -- closure

    ```

    var a = 1;

    function aname() {

    var a = 2;  // a = 2

    console.log(a);

    }

    aname(); // 2 , 1

    ```

    ```

    var a = 1;

    function aname(a) {

    var a = 2;  //. a = 2

    console.log(a);

    }

    aname();

    console.log(a) // 2, 1

    // 函数参数是函数内部的变量,between outer and inner。。

    ```

    ```

    var a = [1, 2, 3];

    function aname(a) {

    a[1] = 5;

    console.log(a[1]);

    }

    aname(a);

    console.log(a[1]); // 5, 5

    ```

    ```

    f = function (i) {return i;}

    function (i) {return i;}

    for (var i = 0; i < 3; i++) {

    b[i] = f(i)

    }

    2

    b

    (3) [0, 1, 2]

    ```

    两种区别

    ---

    myTest();

    test  //. 都会报错,这种方式不能在函数之前调用

    var myTest = function test() {

    console.log("Hello World");

    }

    ---

    - var a = 1;  // 没有返回值 add b = a 返回值是1

    - a = true && b=5; //. a = 5

    - javascript reduce

    - parseInt(1e-2)//。0

    # chapter 4

    ```

    var original = {howmany: 100};

    var nullify = function (o) { o.howmany = 0; };

    nullify(original);

    original.howmany;

    > 0

    ```

    相关文章

      网友评论

          本文标题:无标题文章

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