初识JavaScript

1.什么是JavaScript

JavaScript(js)是一种函数优先的轻量级,解释型或及时编译型的编程余元
是一种基于原型编程、多范式的动态脚本语言,并支持面向对象、命令式和声明式风格
JavaScript是一个编程语言,允许用户在浏览器页面上完成复杂的事情

2.JavaScript的组成部分

- ECMAScript:描述了该语言的语法和基本对象
变量 操作符 流程控制语句 数组 对象 函数 正则表达式

- 文档对象模型(DOM):描述处理页面内容的方法和接口(为浏览器提供的js操作html/css的js API)
js操作html的api
是针对xml但经过扩展用于HTML的应用程序编程接口。DOM将整个页面映射成一个多节点结构

- 浏览器对象模型(BOM):描述与浏览器进行交互的方法和接口(为浏览器提供的js操作浏览器的js API)
js操作浏览器的api
开发人员可以使用BOM控制浏览器显示的页面以外的部分

JavaScript如果应用在nodejs中,则通常用于服务器端编程,可以进行io操作,网络操作等。
只有ECMAScript是标准,也就是在绝大多数浏览器以及js解析器(node)中运行效果相同,但是DOM与BOM是各大浏览器厂商自己提供的API,在使用上大同小异,但是也可能会出现少许不兼容的情况

3.JavaScript的特点

  1. 解释型语言

js -> nodejs(js解释器)

  1. 弱类型语言

变量的数据类型取决于值的数据类型

var a ;

a = 2; // a的数据类型为number

a = true; // a的数据类型为boolean

  1. 顺序解释执行
  2. 既可以作为前端脚本语言,也可以作为后端语言,取决于应用平台(浏览器/操作系统)和使用的框架(dom、jquery/http、mysql、file)

4.JavaScript的使用

  1. 内部JavaScript
    编写好HTML,在<head>标签体中添加<script>元素,然后将js代码填写进来即可。
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <script type="text/javascript">
    alert('hello javascript')
  </script>
</head>
<body>
</body>
</html>
  1. 外部JavaScript
    单独新建一个后缀名为.js的js文件,编写好HTML文件,在<head>标签体内添加<script>元素,使用script标签的src属性将将js文件导入进来。
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <script type="text/javascript" src="hello.js"></script>
</head>
<body>
</body>
</html>
  1. 在vi/vim中编写JavaScript
console.log('hello JavaScript')
  1. 使用node命令执行即可
 $ node hello.js

注:在body和head中使用JavaScript的区别
在body部分中的JavaScript会在页面加载的时候被执行,在head部分中的JavaScript会在被调用的时候才执行
因为浏览器解析html是从上到下的。如果把JavaScript放在head里的话,则先被解析,但这时候body还没有解析,所以会返回空值。一般都会绑定一个监听,当全部的html文档解析完之后再执行代码

4.关键字与保留字

  • 关键字(在js中有特殊功能)
    break do try typeof
    case else new var
    catch finally return void
    continue for switch while
    debugger this function with
    default if throw instanceof
    delete in
  • 保留字:(将来可能成为关键字)
    abstract enum int short
    boolean export interface static
    byte extends long super
    char final native synchronized
    class float package throws
    const goto private transient
    debugger double implements protected
    volatile import public

(1)区分大小写
例如:typeof 关键字, typeOf 非关键字

(2)标识符
指变量,函数,属性的名字或者函数的参数。标识符是按照以下规则组合起来的一个或多个字符
1.字母,数字,下划线,$ 组成
2.只能以字母,下划线,$ 开头
3.不能将关键字作为标识符。命名采用驼峰式命名
例如:maxNumber

(3)语句
每个语句以分号结尾,如果省略分号,由解析器确定语句的结尾,即分号可以省略,但是我们要求每个语句的末尾都应该有分号

5.变量

变量是一个值的容器,该容器的值可以随时改变,ECMAScript的变量是弱类型(松散类型),可以用来保存任何类型的数据。定义变量时使用var关键字。

  1. 变量的使用
    变量的使用一般用经过声明,初始化,调用三个步骤
// 变量声明
var a ;
// 变量初始化
a = 3;
// 变量调用
console.log(a);
  1. 变量声明会被提升 (函数的声明也会)
//console.log(b);//报错
console.log(a);//不会报错
var a = 3;
//等价于:
var a;//在所有代码执行之前,js解释器会将js中所有的var声明的变量提升。
console.log(a);
a=3;

6.数据类型

JavaScript基本数据类型:

值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol。
引用数据类型:对象(Object)、数组(Array)、函数(Function)。
注:Symbol 是 ES6 引入了一种新的原始数据类型,表示独一无二的值。

  1. 字符串 String
 var carname="Volvo XC60";
  1. 数字 Number
整数:

​ 十进制 55 由0~9组成

​ 八进制 070 首位为0,其他位有0~7组成

​ 十六进制 0x11 首位为0x,其他位为09,AF

浮点数:

​ 所谓浮点数值,就是该数值中必须包含一个小数点,并且小数点后必须至少有一位数字。浮点数值的最高精度是17位小数

​ 普通浮点数 3.1415926

​ 科学计数法 3.125e7 即31250000

非数值:

​ 该数值表示一个本来要返回数值的操作数未返回数据的情况

var a = 10/ "a";	// a为NaN
非数值检测:

​ 判断参数是否“不是数值”,当参数para不是数值的时候返回true

isNaN(NaN);	// true
  1. 布尔 Boolean

布尔(逻辑)只能有两个值:true 或 false。

  1. Null
    该类型的取值只有一个,即null。null可以表示一个空对象的指针。

  2. Undefined
    Undefined 这个值表示变量不含有值。未定义的。

undefined 与null关系

undefined继承null,所以undefined == null结果为true,但是null表示空对象,undefined表示未定义;

null与undefined用途不同,null可以用来表示一个空对象,但是没有必要把一个变量的值显式设置为undefined。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值