react基础<Ⅰ>

Day1

1.var 与 let 的区别

  • 声明后未赋值,表现相同
(function() {
      var varTest;
      let letTest;
      console.log(varTest); //输出undefined
      console.log(letTest); //输出undefined
    }());
  • 使用未声明的变量,表现不同:
(function() {
  console.log(varTest); //输出undefined(注意要注释掉下面一行才能运行)
  console.log(letTest); //直接报错:ReferenceError: letTest is not defined

  var varTest = 'test var OK.';
  let letTest = 'test let OK.';
}());
  • 重复声明同一个变量时,表现不同:
(function() {
      "use strict";
      var varTest = 'test var OK.';
      let letTest = 'test let OK.';

      var varTest = 'varTest changed.';
      let letTest = 'letTest changed.'; //直接报错:SyntaxError: Identifier 'letTest' has already been declared

      console.log(varTest); //输出varTest changed.(注意要注释掉上面letTest变量的重复声明才能运行)
      console.log(letTest);
    }());
  • 变量作用范围,表现不同:
(function() {
  var varTest = 'test var OK.';
  let letTest = 'test let OK.';

  {
    var varTest = 'varTest changed.';
    let letTest = 'letTest changed.';
  }

  console.log(varTest); //输出"varTestchanged.",内部"{}"中声明的varTest变量覆盖外部的letTest声明
  console.log(letTest); //输出"test letOK.",内部"{}"中声明的letTest和外部的letTest不是同一个变量
}());

参考:https://www.cnblogs.com/asand/p/7205632.html

2. https://www.bootcdn.cn -->可以搜索开源库

3. react的局部更新(Dom diff)

将要更新的代码与原代码相对比,只更新不同的部分

4. JSX与虚拟对象

jsx的由来:
为实现react的构想,react的创始人将页面上的代码搬到了js中,通过渲染->回传的方式达到节约一半时间的目的
(原生js是通过document.getElementById获取,操作,回传给元素来实现数据的更新)
为了在js中写html,需要运用React.createElement这一API来实现,结果呈现出来的代码与html语句惊人的相似,这促使了react创始人的思考,能不能直接在js中写html呢?
jsx因运而生
jsx其实是js的一种拓展,一般x表示拓展,jsx就是用html来写js,大体不变的情况下将变量用{}括起来以区分字符串与变量
react创始人设计了一款程序,可以将html翻译成js,我们在js里面写的“html”就是jsx,这个程序就是jsx翻译器
虚拟dom就是表示dom结点的对象
例如:<App/>
就是一个虚拟的Dom,它是由React.creareElement(App)产生的

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • React简介 (1)简介 React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaSc...
    鱼鱼吃猫猫阅读 5,582评论 1 6
  • 前言 在Jq,原生javascript时期,在写页面时,往往强调的是内容结构,层叠样式,行为动作要分离,三者之间分...
    itclanCoder阅读 4,021评论 0 2
  • 40、React 什么是React?React 是一个用于构建用户界面的框架(采用的是MVC模式):集中处理VIE...
    萌妹撒阅读 4,690评论 0 1
  • HTML模版 之后出现的React代码嵌套入模版中。 1. Hello world 这段代码将一个一级标题插入到指...
    ryanho84阅读 11,410评论 0 9
  • 3. JSX JSX是对JavaScript语言的一个扩展语法, 用于生产React“元素”,建议在描述UI的时候...
    pixels阅读 7,911评论 0 24