JS_1.基础语法


语言学习路线图
1)背景知识:历史、现状、特点、应用领域、发展趋势
2)搭建开发环境
3)声明变量、常量
4)数据类型
5)运算符
6)逻辑结构
7)通用小程序
8)函数和对象
9)第三方库、组件、框架
10)实用项目


1. JavaScript概述

1.1 定义

JavaScript 是一种运行于JavaScript解释器/引擎的解释型脚本语言;作为JS脚本的运行环境,有两种呈现方式:
服务器端JS——独立安装的JS解释器,Node.js平台;
客户端JS——浏览器中的JS解释器,Chrome浏览器;

JavaScript应用广泛:

  1. 编写网页,操作网页内容以实现用户交互;
  2. 编写移动APP应用;
  3. 编写桌面GUI应用;
  4. 编写命令行应用;
  5. 编写企业服务器端应用;
  6. 2D绘图和3D游戏建模;
  7. Web VR/AR;

1.2 发展史

1992.Nombas公司.ScriptEase
 ->1995.Netscape.Javascript 
 -> 1996.Microsoft.JScript
 -> 1997.定义ECMAScript标准脚本语言 
 -> 2009.CommonJS规范确立JS向服务器端和桌面端应用发展方向,**指定更丰富的API规范,提供编程能力;实现跨硬件平台、操作系统、解释器的体验。**
**目前实现CommonJS规范的技术:Node.js、RequireJS、SeaJA等**

1.3 特点

  1. 可使用任何文本编辑工具编写,语法与C和JAVA类似;
  2. 解释型语言,运行前无需编译,平台独立性、严密安全性;编译型语言执行速度快,消耗内存少,但代码量大,不易维护,依赖平台且不能保证安全性
  3. 弱类型语言,数据类型可以被忽略,需要格外注意数据类型
  4. 面向对象;
  5. 跨平台性

JS本身数据类型和对象有限,其运行环境扩展提供更丰富的编程接口:
浏览器提供BOM、DOM对象;NODE.js提供网络访问、文件操作、数据库查询等功能对象


2. JavaScript基础语法

2.1 使用

  1. 浏览器内核
  2. 搭建运行环境
    1)安装独立的JavaScript解释器;
    ->"http://nodejs.org"下载安装包;
    ->命令行 node -v可以查看当前系统node.js版本号;
    2)使用浏览器内核嵌入的JavaScript解释器
    -> 文本文件更名为.html打开
  3. 执行JS代码
    浏览器:创建01.js和01.html,在01.html中引入01.js:
    引入01.js
    NODE.js:->编写文件后缀名.js文件,命令行输入“node 01.js”’
    两种运行环境都可以交互/脚本执行,浏览器内嵌执行方式可直接在控制台输入/嵌入在HtML页面
  4. HTML元素事件
  5. 元素< script >
  6. 外部脚本文件

2.2 调试

  1. 代码错误
    解释型语言,脚本文件某行代码错误只执行该行代码之前的操作
  2. 浏览器调试功能
    右键->检查或者F12
  3. Chrome控制台
    浏览器端函数
    警示框alert(’’);
    文本框var user_name = prompt(“请输入用户名”);
    //使用var接收用户输入的内容,以string类型保存
    写在html文件中script中

2.3 语法规范

编写代码语句由表达式、关键字、运算符组成;

  1. 大小写敏感;

  2. 使用分号(可加可不加)或者换行结束;

  3. 注释:单行//、多行/* */


3 变量和常量

3.1 变量定义

变量是存储信息的容器。

3.2 变量声明

关键字var声明变量,没初始化的变量自动取值undefined;
Eg.var bookPrice, penPrice = 26;
命名规范:
-可以包含字母、数字、下划线、美元符号;
-不能以数字开头
-不能使用语言关键字和保留字作变量名;
预保留的关键字:class、int、float等
关键字:break、case、catch、continue、default、delete、do、else、false、finally、for、function、if、ininstance、new、null、return、switch、this、throw、true、try、typeof、var、void、while、with、undefined

3.3 变量使用

1)定义时立即初始化;
2)先声明再赋值

3.4 常量声明使用

关键字const声明常量,英文字母习惯使用纯大写,无法改变值的大小


4 数据类型

4.1 数据类型

ECMAScript数据类型可分为原始类型和引用类型,不同JS运行环境支持的原始类型是一样的,引用类型区别很大
原始类型:number、string、boolean、null、undefined
引用类型:Object、Function、Number、String、Boolean、Date、Error、Array

4.2. 原始类型

1)number类型:可以表示32位的整数(十进制、八进制0、十六进制0x),在内存中占4个字节;
也可以表示64位浮点数(用小数点/指数(4.3E-23)记录数据),占8个字节;
2)string类型:字符串表示一系列文本字符数据,由Unicode字符、数字、标点符号组成,使用Unicode编码来保存;不区分字符和字符串类型;首尾由一对单引号或双引号括起;特殊字符需要转义符;
3)boolean类型:true/false(1/0)
4)undefined:声明的变量没有赋值
5)null:用于释放销毁引用类型的地址

js中NaN、null与undefined区别:
1)数据类型:NaN是特殊的number数据类型;null是特殊的Object对象;undefined是undefined数据类型;
2)比较运算:null == undefined,且它们与自己相等;NaN与任何值都不相等;

typeof(null)返回对象object;
判断某个值是否未定义,使用=== undefined,因为认为undefined==null;

4.3. 数据类型转换

弱类型程序语言:声明时不需要指定数据类型;变量由赋值操作确定数据类型;变量可以先后赋值为不同类型的值。
隐式转换:不同类型数据在计算过程中会自动进行转换;string与数值类型作/*-操作强制转换成数字类型再进行计算

1)typeof()函数用于查询变量的当前类型,使用方法:typeof(var);
2)charCodeAt()函数用于查看字符的Unicode编码,使用方法:var.charCodeAt()、‘a’.charCodeAt();
3)Unicode编码转换成16进制,再编码转换成汉字:
unicode.toString(16);
console.log(’\u____’);//汉字Unicode编码范围’\u4e00’~‘9fa5’
4)转义字符’把引号转换成普通字符

数据类型转换函数
1)toString():转换成字符串或者进制;a1.toString();a1.toString(2);
2)parseInt():解析出任何类型的整数部分;从开头查找,遇到非数字或符号结束;如果没有则返回NaN(遇到bool类型也直接返回NaN);parseInt(a1);
3)parseFloat():解析出任何类型的浮点数部分(包括整数);与parseInt类似,但遇到小数点会继续往后;如果没有则返回NaN(遇到bool类型也直接返回NaN);parseFloat(a1);
4)Number():把任意数值类型转换为数值类型(遇到bool类型返回0/1);如果包含非法字符则返回NaN;Number(a1);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Node.js是一个基于Chrome V8引擎的JavaScript运行时。它使用事件驱动、非阻塞I/O模型,使得它非常适合构建高性能的、可扩展的网络应用程序。 在Node.js中,可以使用require关键字来导入内置的API模块,比如http模块。使用http模块可以创建一个基本的Web服务器,以下是创建服务器的步骤: 1. 导入http模块:使用`const http = require('http')`来导入http模块。 2. 创建服务器实例:使用`http.createServer()`来创建一个服务器实例。 3. 绑定request事件:使用`server.on('request', (req, res) => { ... })`来给服务器绑定request事件,以监听客户端的请求。在事件处理函数中,可以访问`req.url`来获取客户端请求的URL,`req.method`来获取请求的方法。 4. 设置响应头和内容:使用`res.setHeader('Content-Type', 'text/html;charset=utf-8')`来设置响应头的Content-Type为text/html,并设置字符编码为utf-8。使用`res.end(str)`将要返回给客户端的内容写入响应流。 5. 启动服务器:使用`server.listen(80, () => { console.log('server running at http://127.0.0.1'); })`来启动服务器,监听端口号为80。 以下是一个使用http模块创建基本Web服务器的示例代码: ```javascript // 导入http模块 const http = require('http') // 创建web实例 const server = http.createServer() // 给服务器绑定request事件,监听客户端请求 server.on('request', (req, res) => { const str = `客户的 url is ${req.url}请求方法 method is ${req.method}` res.setHeader('Content-Type', 'text/html;charset=utf-8') res.end(str) }) // 启动服务器 server.listen(80, () => { console.log('server running at http://127.0.0.1'); }) ``` 此外,Node.js还提供了其他很多内置模块,可以用于文件操作、路径处理、网络通信等。比如,可以使用path模块来处理文件路径,例如获取文件的扩展名: ```javascript const path = require('path') const fpath = '/a/b/c/index.html' const wenjian = path.extname(fpath) console.log(wenjian) ``` 以上是关于Node.js语法基础的介绍,包括导入模块、创建基本的Web服务器和使用其他内置模块的示例。希望对你有帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值