什么是JavaScript;JS的基本语法

JavaScript

什么是JavaScript

JavaScript是一个轻量级的脚本语言。不具备开发操作系统的能力,只是用来编写或控制其他大型应用程序的脚本(在其他大型程序内部运行的语言)。

JavaScript简称JS,也是一种嵌入式语言,本身提供的核心语法不算很多,只能做一些数学和逻辑运算。js本身不提供任何I/O(输入,输出)相关的操作。主要靠宿主环境,提供相应的API(应用程序功能的接口)。

对于前端,JS的主要宿主(运行)环境是浏览器


JS能做什么

  • 操作浏览器的能力:js的宿主环境是浏览器,浏览器给js提供了很多的API可以操作浏览器实现各类交互效果。
  • HTML5 出现以后,浏览器的本身功能越来越强,浏览器不仅是浏览器网页,可以调用操作系统相关的功能,如果本地文件,图片,摄像头,麦克风,调用手机的很多功能...
  • 利用Node.js 平台,可以做web服务器开发(后端开发)
  • 数据库操作,如NoSql(非关系型数据库),本身基于js的JSON格式,支持JS作为操作语言。
  • 移动平台开发,如果开发webapp(把JS和h5打包到一个容器中)
  • 内嵌脚本,其他很多应用嵌入js,使js可以操作对应的应用。
  • h5游戏,基于js的游戏的引擎,可以做各类游戏开发。
  • 3D特效,利用3D的js库(D3.js,three.js)可以做各类3D项目

JS 与 ECMAScript 的关系

Netspace 网景公司为了与微软竞争,把js提交给了ECMA组织(欧洲计算机制造协会)使其进行了国际化标准。ECMA主要指定了JS的语法\结构\部署环境等相关标准。JS与ECMAScript指的都是一种语言。

JavaScript与Java没有任何关系,Netspace公司为了让语言更有名气,蹭Java的热度,取名叫JavaScript

ECMA在2015年发布了ECMAScript 6的版本,正式更名为ECMAScript 2015

由于ES6版本相对于之前版本,改动非常大,所以ES6是最出名,现在大家所说的ES6指的ES6及后面的版本。

ECMA以后每年都会发布一个版本

JS的基本语法

写入js代码的方法

JS的宿主环境是浏览器,所以需要把js放入html标签,通过浏览器运行html,解析运行js

1.通过<script>标签包裹js代码:

  • script 脚本标签,告诉浏览器这是一个脚本语言,js代码就放入script标签之间

  • type="text/javascript" 生命脚本的类型,h5 可以省略该属性(h5默认的脚本就是js)

  • script 标签可以放在任意位置,可以有多个script标签

  <script type="text/javascript">
        //document 表示当前的网页,write()可以在当前网页打印内容。
        document.write("hello js")
    </Script>

2. 通过 script 标签的 src 属性引入外部 js 文件 : js 代码写入 .js 的文件中,通过 src="xx.js" 的方式引入外部文件 ,src
可以引入本地文件或者网络路径文件。
在网站的 js 目录创建 main.js 文件,写入以下代码 :
document.write("外部文件")
通过在 html head 标签引入 main.js 文件
<!-- 引入外部的js代码 -->
<script src="./js/main.js"></script>
1. 浏览器遇到script标签回去加载对应的js文件并运行,如果js文件比较大,可能等等的时间比较久。 可以给script标签添加defer属性,让js代码异步加载(渲染html标签的时候同时加载js文件,js不会阻塞html 渲染)
2. js可能会操作dom(html标签),在头部引入可能js运行的时候后面的html标签都没有渲染,就会出错。 一般的做法是放在body的结束标签之前,引入js,这样所有的html标签都构建了,js操作html标签不会出错。
....
<script src="./js/main.js" defer ></script>
</body>

语句

JS程序执行的单位是行,也就是一行一行的执行代码。一般情况下,每一行都是一个语句。

<script>
    document.write("a")
    document.write("b")
</script>
如果有 ;( 分号 ) ,则是分号前面为 1 个语句,多个分号分割的语句可以写在一行。 ( 多个语句在一行,必须加 ; 区分 )
如果一个语句一行,则不建议加分号
<script>
    document.write("a");document.write("b");
</script>
JS 代码执行语句是从上往下执行。 

变量  

变量有点像数学里面的未知数。变量可以表示一个值,引用变量就相当于引用了值 ( 变量相当于一个盒子,装不同的内容,拿到盒子的时候就是拿到对应的内容)
        1. 变量 : 变量是对一个具体值的引用
var name; // var 创建 一个name的变量(声明变量)
name="苹果" // 变量赋值(把苹果赋值给name变量)
document.write(name); // write可以处一个变量,由于name的值是苹果,程序执行的时候会查询name变量对应的值并使用。

        2. 变量创建后需要赋值才能使用,如果不给变量赋值,变量默认值是undefifined(未定义

var age;
document.write(age)
        3. 创建变量后可以直接赋值
var sex="man"; // 等于 var sex; sex = "man"
        4. 变量不用 var 关键词也是可以直接赋值使用,但是用 var 关键有创建变量的语义,可读性更强。
name1="zhangsan"

        5. 变量没有声明同时也没有赋值,直接使用会报错。js代码运行出错,则会停止后面代码的运行。

        f12 在console控制台能看到js报错信息

document.write(x)
6. 可以在同一个 var 关键词中声明多个变量
var a,b,c;
a=10;b=14;c=21;
7. 如果 var 声明了一个已经存在的变量,则无效
var y=1;
var y=2; //等于 var y; y=2; var y失效,y=2是有效的。
8. var 创建变量名的规范和 html id 命名类似:
  • 第一个字符,可以是任意 Unicode 字母(包括英文字母和其他语言的字母),以及美元符号( $ )和下划线( _
  • 第二个字符及后面的字符,除了 Unicode 字母、美元符号和下划线,还可以用数字 0 - 9 。
  • 变量命名一般要有一定的语义,多个单词的变量用小驼峰命名法( 小驼峰 : 第二个单词开始,首字母大写。大驼峰: 所有单词的首字母大写 )
    var classRoom; // 小驼峰
    var ClassRoom; // 大驼峰
  • js的变量名区分大小写,大写和小写是不一样的变量 
  • 变量命名不能用js内置的关键词

        JavaScript 有一些保留字,不能用作标识符(变量名)argumentsbreakcasecatchclassconst、continue、debuggerdefaultdeletedoelseenumevalexportextendsfalsefifinally、for、functionifimplementsimportininstanceofinterfaceletnewnullpackage、private、protectedpublicreturnstaticsuperswitchthisthrowtruetrytypeof、var、voidwhilewithyield

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值