要编写一个React Native要涉及到的语言基础还是挺多的。不像之前学习Android开发,只要会Java就可以了。发现前端的项目,都是各种语言混合在一起使用的,React Native估计也类似,还是乖乖把基础语法大概过一下吧。
第一个语言基础,就是JavaScript以及新特性ES6的基础学习。
JavaScript语法
网上搜索一下,参考各路大神的推荐,可惜动不动就推荐入门者看犀牛书,红宝书这些,看页数先暂时放下吧!毕竟才刚刚入门,而且我们目标是先写一个React Native应用。
比较之后,选择《JavaScript DOM编程艺术》,很薄的一本书籍,熟悉语法的同时,也熟悉一下DOM编程的思路,不过只是看了前几章。
然后,直接在W3c或者廖雪峰的JavaScript教程熟悉一下语法。
JavaScript经典书籍及资料
JavaScript权威指南(犀牛书)
JavaScript高级程序设计(红宝书)
JavaScript语言精粹(蝴蝶书)
JavaScript DOM编程艺术(第二版)
W3school JavaScripthttp://www.w3school.com.cn/js/js_htmldom_events.asp
廖雪峰 JavaScript教程https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000
ECMAScript 6 入门 http://es6.ruanyifeng.com/
DOM
什么是DOM
DOM的定义:一个与系统平台和编程语言无关的接口,程序和脚本可以通过这个接口动态地访问和修改文档的内容、结构和样式。
简单来说,通过DOM,你就可以用HTML标记一个页面元素,然后,通过CSS为这个页面元素定义位置样式,然后,可以用JavaScript改变它的位置。但是,CSS或者JavaScript怎样去找到HTML写的这个元素呢?就是通过DOM。
感觉有点类似Android开发中,UI的控件添加一个id属性,然后,在Java中,就可以通过findViewById()获取到该控件,然后对该控件进行修改。
基本语法
加载JavaScript语法
打印日志
定义变量
注释
数组
容器
Map,一个key只是对应一个value,相同key后添加的会覆盖前面的
Set,一组key的集合,key不能重复,输入相同key会被自动过滤
扩展运算符`…`
解构
函数
arguments,默认指向所有传入的参数,类似Java中的main方法中的args,只是不需要自己定义。一般可以用来判断传入的参数长度。
函数return,总结下来就是有指定返回,就返回指定值,没有就返回undefined,return后面会自动添加作为语句的结束标志。
箭头函数
ES6中,允许使用“箭头” 定义函数,有点类似于lambda表达式,更接近于函数的数学符号表达。
使用例子
对象
模块的导入和导出
一个独立的js文件可以说是一个模块,该文件内部的所有变量,外部无法获取,不像Java中是有私有、共有变量这些概念的。如果你希望外部能够读取该模块,那么就用export输出该模块的对外接口,用import导入该模块提供的接口。
如果a文件导出为default,有且仅能一个default,那么b.js的import可以不加{},名字可以为AAA或者BBB都无所谓,都是指向a.js的AAA
如果a文件导出,没有default,则b.js的import,必须加{},而且名字必须和a.js中导出的名字一样,如果想进行修改,则使用关键字
注意
JavaScript是区分大小写的
JavaScript不要求语句后面必须加,但是建议开发的时候加上
参考资料
《JavaScript DOM编程艺术》
《ECMAScript 6 入门》
深入浅出ES6(十四):let和consthttp://www.infoq.com/cn/articles/es6-in-depth-let-and-const
ES6,import时如何正确使用花括号'{ }'https://blog.csdn.net/function__/article/details/79040111
ECMAScript 6 入门 Module 的语法http://es6.ruanyifeng.com/#docs/module
领取专属 10元无门槛券
私享最新 技术干货