混合开发的大趋势之 一个Android程序员眼中的 React.js 块级作用域 和 let
转载请注明出处:王亟亟的大牛之路
最近都有事干然后,快到月底了这个月给CSDN的博文也就两篇,想想也蛮多天没更了,那就来一篇。
老规矩,先安利:https://github.com/ddwhan0123/Useful-Open-Source-Android (已经拆完了,基本可以根据链接找你的需要的东西给了,后期还会继续细分)
学了一段时间的RN,公司项目的部分模块也迁移到了RN。
我自己是会SE的东西却对JS不太熟,所以生产效率并不是太高,正好微信的小程序也是类似的实现,让我觉得掌握JS已经成了一个高优先级的学习任务了。
然后当下有2个学习方向其实我觉得还是可以自己去选择的,一个是 VUE 一个是 React.js
一个是阿里等大公司都推崇的:https://github.com/vuejs/vue,另一个看标题你就懂了:https://facebook.github.io/react/index.html
Hellow World
例子中可能出现在 RN文章里出现过的知识点,如果重复了,可以提出我再做修改。
下完所需的JS包简单的包分一下就能开工
官方的sample引用的是 react.js,react-dom.js和browser.min.js 这3个文件
这里补充一句,Browser.js是用来把JSX转成JS的,这个过程比较耗时,丢服务器就行,Demo是为了方便,你懂的
在<head>
里引用即可(记得设置下编码,不然中文就是乱码)
<head>
<meta charset="UTF-8" />
<script src="../build/react.js"></script>
<script src="../build/react-dom.js"></script>
<script src="../build/browser.min.js"></script>
</head>
因为React.js的JSX语法和JS是不兼容的(别问为什么,我并不知道),要使用需要加一个<script>
标签
<script type="text/babel">
然后在里面代码就行了!
变成都是从Hellow World开始的,我们也试着来一个。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<script src="../build/react.js"></script>
<script src="../build/react-dom.js"></script>
<script src="../build/browser.min.js"></script>
</head>
<body>
<div id="example"/>
<script type="text/babel">
var wjj = 'hellow world';
ReactDOM.render(
<div>{wjj}</div>,
document.getElementById('example')
);
</script>
</body>
</html>
效果图:
在RN的时候也有类似的.render()方法,那么他到底是干什么的呢?
他就是把HTML 语言,并插入指定的 DOM 节点的,也就是插入了例子里叫’example’的那个 <div>
节点
块级作用域和块变量
在java中并没有块变量或者块的概念,方法内的变量就是局部变量,类变量就是类变量。
然而在JS语法中有代码块的概念,也就是 { }
,白话的讲就是 在代码块内申明的变量的生命周期仅可用于代码块中。
而相对应的变量就是 let
let
let 和var类似 申明也是
{
let a = 10;
}
区别是 他只在他的代码块内有效,出了代码块就会 抛出ReferenceError: a is not defined
let不像var 必须先申明再使用,不然会也会抛出ReferenceError
(本身JS的这种变量提升的行为,我就不太感冒,本来就应该先有蛋再有鸡)
既然 let和var只是有效范围不同,那let有什么用呢?
提供能好的代码逻辑,需要在块内有效的行为就只能在块内有效,省去了一车无用的”flag”变量
块级作用域
块级作用域{}
,他可以多层嵌套,像这样
{{{{
let a=123;
{let a="a";}
}}}};
他们是各自独立的,外层作用域无法读取内层作用域的变量,内层作用域可以定义外层作用域的同名变量,所以你申明一堆同名的变量也没有问题。
可以在块级作用域里使用申明函数,但是和let变量一样,出了块就无效了,像这样
{
function f() {}
}
下一篇会介绍 const,props,PropTypes
混合开发的大趋势之 一个Android程序员眼中的 React.js 块级作用域 和 let的更多相关文章
- 混合开发的大趋势之 一个Android程序员眼中的 React.js 箭头函数,const, PropTypes
转载请注明出处:王亟亟的大牛之路 昨天写了篇React.js的开头之作,讲了讲块级作用域和let,先安利:https://github.com/ddwhan0123/Useful-Open-Sourc ...
- 混合开发的大趋势之一React Native之简单的登录界面
转载请注明出处:王亟亟的大牛之路 这些天都在学习RN这部分吧,然后写了个简单的登陆业务,从"实战"中讲解吧 还是继续安利:https://github.com/ddwhan0123 ...
- 混合开发的大趋势之一React Native与Android联调
转载请注明出处:王亟亟的大牛之路 先安利,有空我都会更,看到的好东西都会放进来:https://github.com/ddwhan0123/Useful-Open-Source-Android 公司某 ...
- 混合开发的大趋势之一React Native手势行为那些事
转载请注明出处:王亟亟的大牛之路 最近项目部分模块重构,事情有点多,学习进度有所延缓,外加一直在吸毒(wow你懂的),导致好多天没发问了,其实这部分知识月头就想写了,一直没补. 话不多说先安利:htt ...
- 混合开发的大趋势之一React Native之页面跳转(2)+物理返回+特定平台代码
转载请注明出处:这里写链接内容 今天是10月份的最后一天,我加了3个月来的第一个班,挤出了这篇. 废话不多先安利,然后继续学习 RN 有好东西都往里面丢,努力做好归纳 https://github.c ...
- 混合开发的大趋势之一React Native之页面跳转
转载请注明出处:王亟亟的大牛之路 最近事情有点多,没有长时间地连贯学习,文章也停了一个多礼拜,愧疚,有时间还是继续学习,继续写! 还是先安利:https://github.com/ddwhan0123 ...
- 混合开发的大趋势之一React Native之Image (脑动理解)
文章是宝宝自己写的,你可以转走,标明哪来的就行王亟亟的大牛之路 国庆这些天要么旅游要么WOW,感觉整个人都废了.. 直接从黄种人晒成了非洲大酋长..然而还是无橙,这礼拜要做7天,昨天把单元测试的东西整 ...
- 金三银四背后,一个 Android 程序员的面试心得
回顾一下自己这段时间的经历,九月份的时候,公司通知了裁员,我匆匆忙忙地出去面了几家,但最终都没有拿到offer,我感觉今年的寒冬有点冷.到十二月份,公司开始第二波裁员,我决定主动拿赔偿走人.后续的面试 ...
- 一个iOS程序员眼中的跨域问题
摘要: 跨域问题是web开发领域一个常见的问题,相信每个web开发者都遇到"跨域"的问题 最近公司的iOS开发任务比较少,所以自己最近开始了Web开发的任务,在用H5做了很多页面, ...
随机推荐
- uWSGI配置(转 )
原文地址:http://www.cnblogs.com/zhouej/archive/2012/03/25/2379646.html 下面的内容包含了大部分uWSGI的配置选项,这些配置选项的列举没有 ...
- IOS学习笔记28—SQLite3第三方库之FMDB
本文转载至 http://blog.csdn.net/happyrabbit456/article/details/11609451 SQLite是一种小型的轻量级的关系型数据库,在移动设备上使用是非 ...
- 《程序员级别鉴定书》 ----中级.NET开发者
面向接口.面向对象和面向方面编程区别 面向接口编程 是面向对象编程体系中的思想精髓之一 (博客园文章链接面向接口编程详解(一)——思想基础) 面向接口编程 接口是一组规则集合 面向对象编程 对具有相同 ...
- 【BZOJ3798】特殊的质数 分块打表
[BZOJ3798]特殊的质数 Description 求[A,B]之间的质数个数,并且满足X=Q^2+P^2,P,Q是正整数. Input 第一行输入A,B Output 输出有多少组P,Q满足条件 ...
- FW: Nginx模块开发入门
前言 Nginx是当前最流行的HTTP Server之一,根据W3Techs的统计,目前世界排名(根据Alexa)前100万的网站中,Nginx的占有率为6.8%.与Apache相比,Nginx在高并 ...
- 6.Insert Documents-官方文档摘录
总结 1.插入单文档 db.inventory.insertOne( { item: "canvas", qty: , tags: , w: 35.5, uom: "cm ...
- pip 查看已安装模块、卸载指定模块、安装指定版本模块
操作背景 最近使用 pandas+numpy+plotly 画heatmap(热力图),来处理股票数据,语法.步骤都没问题,但到画图那一步老是报错,且 plotly 版本为3.1.0: 最后找到原因, ...
- 协程+IO切换实现并发
from gevent import monkey # 以后代码中遇到IO都会自动执行greenlet的switch进行切换 monkey.patch_all() import requests im ...
- 最大熵模型(Maximum Entropy Models)具体分析
因为本篇文章公式较多,csdn博客不同意复制公式,假设将公式一一保存为图片在上传太繁琐了,就用word排好版后整页转为图片传上来了.如有错误之处.欢迎指正.
- spring整合问题分析之-Write operations are not allowed in read-only mode (FlushMode.MANUAL): Turn your Session into FlushMode.COMMIT/AUTO or remove 'readOnly' marker from transaction definition.
1.异常分析 Write operations are not allowed in read-only mode (FlushMode.MANUAL): Turn your Session into ...