重温js——js语法基础
js的上层应用穷出不层,但是回归本源都是基于js来的。所以在学其他的知识点的时候,想来回顾一下js的知识点。正所谓,“基础不牢,地动山摇”
还记得在写第一个js的hello world 吗?在跨进程序的大门,都是从这里起步的。
效果就是在页面页面中输出一个hello world
温馨提示: javascript 是对大小写敏感的,不同的大小写的同一个单词代表的含义不一样。
在变量声明这里,大家肯定还记得。所有的js 在使用的时候需要进行声明。也就是在内存地址中开辟一个空间。然后等待数据的\”入住\”
声明变量的方式总共三种方式, var, let, const
- var 声明的变量,定义的变量会放在全局变量的window上。
- let 声明一个局部变量
- const 声明一个常量
三种的异同请查看
语法注释分为单行注释和多行注释。
下面以vscode 为开发工具:
下面以webstorm 为开发工具:
全局变量默认是全局对象(window)的属性,常常使用window.variable语法来设置和访问全局变量。但是我们通常可以省略 window, 直接使用对应的变量, 如 alert, console 等
- ES5之中,顶层对象的属性等价于全局变量(浏览器环境中顶层对象是window,Node中是global对象);
- ES6之中,var/function声明的全局变量,依然是顶层对象的属性,但是let/const/class声明的全局变量不属于顶层对象的属性,即ES6开始,全局变量和顶层对象的属性是分开的。
js的数据类型分为原始类型和引用类型
原始值的存储方式是,内存直接开辟一个地方来存当前原始值的数值。
- 1.Boolean : 布尔值,true和false;
- 2.null : 对大小写敏感(即null/Null/NULL完全不同);
- 3.undefined : 空类型,变量未定义时候的值;
- 4.Number : 数值类型,如100;
- 5.String : 字符串类型,如\’hello world\’;
- 6.Symbol(ES6新增) : 表示一种唯一且不可变的数据; 详情查看
引用值的存储方式是,内存需要开辟额外的内存空间来存数据,而当前变量存的是额外内存的地址。
- Object: 对象 , {key: value}的形式
- function: 函数, function () {xxx}的形式
在js中获取变量的数据类型有以下几种方法:
可以判断 js 中基本数据类型,但无法判断对象的具体类型
语法
判断基本类型的公用方法
可以判断具体的对象类型,包括正则等,但是无法判断自定义对象类型。
语法
仅能判断对象的具体类型,但可以用于判断自定义对象类型
语法
返回的是boolean
object的每个实例都具有属性constructor,保存着用于创建当前对象的函数
一学就会!小白6分钟看懂学习JavaScript的六大步骤
JavaScript(通常缩写为JS)是一种解释型、面向对象、多范式的高级编程语言。它被世界上的绝大多数网站所使用,也被世界主流浏览器(Chrome、IE、Firefox、Safari、Opera)支持。
JavaScript是世界上最流行的脚本语言,因为它很容易上手,而且学习到它的精髓之后还可以编写高质量的代码,这就是我推荐给初学者学习的主要原因。今天就带大家来学习JavaScript。这是当年我学习JavaScript的六大步骤,希望对你也有帮助:
1.学习JavaScript基础语法:
古人常道:“万丈高楼平地起”,意思大概是再高的大厦都要从平地开始修建,学习JavaScript也是一样,想要学好它就一定要把基础先打牢,学习JS的第一步是JavaScript基础语法。
首先,你要了解async和defer之间的区别,然后,深入学习代码语法知识,例如变量,数据类型,循环和条件语句,函数,匿名函数,闭包,阵列和关联阵列,事件,正则表达式,promises。
注意语法顺序一定要准确!上述举例如果有遗漏的,大家可以在评论区留言。此外,我个人推荐你学习如何使用Chrome DevTools调试,因为Chrome DevTool是远程调试JS最好的工具。
2.学习面向对象编程:
当你具备一定的JavaScript基础语法后,你应该转向学习面向对象编程(OOPs)。OOPs是JS和其他编程语言中最重要的概念。JS中的OOPs是基于原型继承链上运行的,不像Java或C++是基于对象或类继承。
然而,关于元数据,你可以在学习了OOPs之后再转到学习元数据编程。虽然元数据很好学,但它并不是JS中最重要的部分。我相信,你可不会喜欢JS带来的意外“惊喜”。
3.学习测试QA:
测试代码和调试JS一样重要!你可能听说过TDD(测试驱动开发)或BDD(行为驱动开发)这样的词,但到底是什么意思呢?简而言之,TDD是指写一个未通过的测试用例,然后让测试通过,最后重构。
而BDD则是根据业务,编写具体的例子和自动化的测试,通过探索,发现,定义,最后推出软件所需的行为。BDD和TDD之间没有本质的区别。把它们组合在一起的是,它们都需要一群人,指定软件在执行之前应该如何协同行动。
4.学习jQuery:
jQuery是一套跨浏览器的JavaScript库,它的特点是动态性和互动性。它使用起来十分方便,就jquery本身而言,你经常会遇到如何将AJAX与jQuery整合的问题。AJAX是什么?举个例子来说吧,
「当你在百度浏览器中输入一个关键词,不用刷新便可得到关于词条的一些内容,这就是AJAX」
AJAX是Asynchronous JS and XML的缩写,它主要处理的是与HTML和CSS不同步的请求而产生的问题。
5.学习框架
现在,你已经了解了jQuery,JS基础语法,AJAX,Chrome DevTools,测试QA。以下的是你们现在真正应该学习的内容——框架:
React:
React的前身是React.JS。React最初是由Facebook和少数个人以及一个小社区开发的,但随着时间的推移,React进行了多次的优化,现在它变成了很有意思而且功能很强大的代码,也很容易学习。我个人是十分推荐你学习React的。日后,你可以用React以组件的形式在网页中开发用户界面。
Angular:
Angular在某方面和React非常相似,不过你可以用Angular以组件的形式编写SPA。它是现在IT行业前端开发方面需求量最大的语言。Angular其实是JS框架,基本上意味着它是用JS编写的。
你可以在每个浏览器的各个角落遇见JS,这也侧面证实了JS功能十分强大,也十分有用。我强烈建议你既要学习React,也要学习Angular。
Node.JS:
Node.JS是在服务器端编写JS的框架。用Node.JS写的代码或API的速度快得离谱,而且Node.JS还可以同时处理多个请求。不像其他后端语言,很少有公司在Node.JS上实现了他们的服务器。
它是服务器端语言的未来,在Node中实现的大型Web应用程序的可扩展性和部署方面存在一些问题,所以现在我不会称它为服务器端语言的主角。
Express.JS:
和上文所述的框架一致,它也是一个功能强大的框架。Express.JS简称Express,它是针对Node.JS的web应用框架,在MIT许可证下作为自由及开放源代码软件发行。它被设计来建造web应用和API。
同样它也是由用JS编写的,我个人建议如果你在学习Node.JS,那么一定要把Express.JS也掌握好。
6.学习库
框架学习也结束了,下面正是学习JavaScript之路上至关重要的最后一点。学习一段时间后,你可能绞尽脑汁想写好代码,而且明明思路很清晰,却只能写出一点点代码。这时候你就该使用这个库了,我并没有推广库的想法,而是真心希望你可以拥有非常有趣的学习和使用经历。
Coffee.Script:
Coffee.Script与JS功能类似,但它有一个好处就是没有分号,括号,双引号,甚至是大括号的杂乱和麻烦。当你学习了JS的基础语法,搭建完众多框架,再学习coffee.script,你就会意识到它有多么的很简单。正因为它十分容易编写,所以我真的很推荐你们进行学习。
当你开始学习时也可以使用JS文档访问JavaScript,并且不要害怕一路上承担一些项目。完全不需要担心,项目会给你带来的挑战,项目的一次次完成会带给你不一样的新鲜感和信心,只有突破重围才会看到崭新的自己。记住明天的你会感激现在拼命的自己,当你精通JS之时,任何挑战都没有办法限制你学习。
如果你对这篇文章有任何感悟或想法,可以在评论区留言。我个人对编码充满了激情,我认为每个人都应该学习它,而不是敬而远之。衷心地祝原你在编码的路上越走越稳,越走越快,越走越远。到那时你虽已是码农,但你仍要牢记学习,从中得到启发,并走向更美好的明天。
前端入门——JavaScript 基础语法
要学习一门计算机语言,就要从最基本的语法开始,JavaScript 作为一种脚本语言,它在设计之初借鉴了C语言及其它类C语言(比如JAVA和Perl)的语法。相对于C语言,JavaScript语法更加宽松、简单,容易上手。
JavaScript 和其它语言一样,由语法、操作符、数据类型、函数、类等功能构成,下面简单的结束下JavaScript的大概语法,在开始学习之前需要掌握的基础知识。
所谓标识符就是变量、函数、属性的名称,或者函数的参数名。其规则如下:
1、区分大小写。
在JavaScript中所有的命名(变量名、函数名和操作符)都区分大小写。比如Test 和 test 分别代表2个不同的变量。
2、命名不能使用关键词或保留字。
在命名时不能使用JavaScript语言中已存在的的关键词或保留字,所谓关键词就是语言本身使用的一些内置的名称,比如true、false和null等作为标识符。
3、只能使用字母、数字、下划线(_)或美元符号($),且第一个字符不能是数字。
4、采用驼峰大小写格式书写。
所谓驼峰格式就是,除了第一个字母小写,其它每个单词首字母大写,例如:myCar 、firstSecond。
JavaScript的注释和C语言一样,包括单行注释或多行注释,如下示例:
注意多行注释,以/*开始,*/结算。上面例子中中间的型号不是必需的,一般为了注释的可读性才加上这些多余的星号。
在最新的ECMAScript 5中引入了严格模式的概念。严格模式指为JavaScript定义了一种不同的解析和执行规则。在严格的模式里,一些语法或规则将会出现不确定的结果。
使用如下代码,告诉浏览器按照严格模式执行JavaScript:
上面的代码是一个特殊的编译指令,告诉浏览器切换到严格模式。除了使整个JavaScript代码处于严格模式环境,你也可以只让部分代码按照严格模式执行,比如下面的代码:
JavaScript中的语句值复制语句、声明变量语句、控制语句等。语句一般以分号结束,如果省略分号,并不会出错。但是建议加上分号,这样可以避免一些错误,比如输入不完整,或不小心删除字符或输入多余空格导致代码在压缩时报错。另外加上分号还可以提高代码性能,这样浏览器引擎不必花费时间去推测哪里应该插入分号。
如下语句示例:
注意上面控制语句的不同用法,后面再介绍条件语句时会详细介绍。
在ECMA规范中有一组特定用途的关键字,它们用来表示语言中一些特定操作,是先有语在使用的内置名称,这些关键字不能用作标识符。以下是常用的关键字:
break、do、instanceof、typeof、case、var、let、const、new、if、else、this、in、delete、for、return、catch、finally、void、while、switch、function、continue、default、try、with、debugger、export、class、throws、import
除了关键字,EVMA中还保留一组不能用作标识符的保留字。保留字在将来可能被用作关键字,如下是常见的保留字:
abstract、enum、int、short、boolean、char、volatile、public、goto、package、native、super、byte、final等
所谓变量就是,在内存中临时分配一个空间,可以理解为它是一个占位符,方便程序查找内存地址,然后进行计算、存储。JavaScript 中的变量可以声明为任何类型的变量,它不同意其它语言,JavaScript 语言变量是松散类型的,无需指定变量的具体数据类型,可以使用var 、let 关键字声明变量。
如下示例声明一个变量:
变量在声明的同时也可以给其赋值,如下:
关于变量值可以使用双引号也可以使用单引号,且只有在变量值是字符串类型时才能使用。
同时声明多个变量:
关于var 和 let 的区别之后会单独详细介绍。
所谓常量,是一种特殊的变量,一旦定义了常量,就不能再修改它的值,可以使用const关键字声明常量。
如下示例:
所谓数据类型就是计算机语言中不同的数据组织方式,在JavaScript中有以下几种数据类型:
String(字符串)、Number(数字)、Boolean(布尔)、Null、Undefined、Object(对象)。
其中Object是一种比较复杂的数据类型(由一组无序的名值对组成),不同于其它类型都是简单的类型。
JavaScript中的数据类型,在实际使用时会自动转换类型,关于这里后期会单独介绍。
本节介绍了JavaScript语言的基础语法,你将学会如何书写代码、如何声明变量和常量、以及如何注释代码等基本规则。本篇是入门教程,如果您以及非常熟悉JavaScript,请直接忽略,如有错误,请指正,感谢关注。
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。