首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我们一起学React Native(三):JavaScript语法基础

要编写一个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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181210G07IZG00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券