重温js——js语法基础

简介: 在变量声明这里,大家肯定还记得。所有的js 在使用的时候需要进行声明。也就是在内存地址中开辟一个空间。然后等待数据的"入住"

js的上层应用穷出不层,但是回归本源都是基于js来的。所以在学其他的知识点的时候,想来回顾一下js的知识点。正所谓,“基础不牢,地动山摇”


第一个JS应用


还记得在写第一个js的hello world 吗?在跨进程序的大门,都是从这里起步的。


document.write('hello world!');
复制代码


效果就是在页面页面中输出一个hello world


000a12bf56850917c2e14b237c32302e.png


温馨提示: javascript 是对大小写敏感的,不同的大小写的同一个单词代表的含义不一样。


变量声明


在变量声明这里,大家肯定还记得。所有的js 在使用的时候需要进行声明。也就是在内存地址中开辟一个空间。然后等待数据的"入住"


方式


声明变量的方式总共三种方式, var, let, const


  • var 声明的变量,定义的变量会放在全局变量的window上。
  • let 声明一个局部变量
  • const 声明一个常量


语法


// 声明单个变量
var 变量名;
let 变量名;
const 变量名;
// 声明多个变量
var 变量名1,变量名2,变量名3,变量名4;
let 变量名1,变量名2,变量名3,变量名4;
const 变量名1,变量名2,变量名3,变量名4;
复制代码


三种的异同请查看


语法注释


语法注释分为单行注释和多行注释。


下面以vscode 为开发工具:


使用  ctrl + / 打出单行注释
// xxxx
使用 alt + shit + a 打出多行注释
 /*  {
  a: 1,
  b: 2
  }, */
复制代码


下面以webstorm 为开发工具:


使用  ctrl + / 打出单行注释
// xxxx
使用 ctrl + shit + / 打出多行注释
 /*  {
  a: 1,
  b: 2
  }, */
复制代码


全局变量


全局变量默认是全局对象(window)的属性,常常使用window.variable语法来设置和访问全局变量。但是我们通常可以省略 window, 直接使用对应的变量, 如 alert, console 等


  • ES5之中,顶层对象的属性等价于全局变量(浏览器环境中顶层对象是window,Node中是global对象);


  • ES6之中,var/function声明的全局变量,依然是顶层对象的属性,但是let/const/class声明的全局变量不属于顶层对象的属性,即ES6开始,全局变量和顶层对象的属性是分开的。


// ES5
var a = 'abc';
window.a; // 'abc'
// ES6
let b = 'abc';
window.b; // undefined
复制代码


数据类型


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中获取变量的数据类型有以下几种方法:


typeof


可以判断 js 中基本数据类型,但无法判断对象的具体类型


语法


typeof 变量
复制代码


var a = 1;
console.log(typeof a) // number
复制代码
**判断基本类型的公用方法**
**判断基本类型的公用方法**
function basicTypeof(cc){
return cc === null ?“null” : typrof(cc);
} 
复制代码


/

### Object.prototype.toString.call(1)
> 可以判断具体的对象类型,包括正则等,但是无法判断自定义对象类型。
**语法**
Object.prototype.toString.call(variable)
复制代码
const a = 1;
console.log(Object.prototye.toString.call(a)) // [object number]
复制代码


instanceof


仅能判断对象的具体类型,但可以用于判断自定义对象类型


语法


variable instanceof 类型 
复制代码


返回的是boolean


56ad803e00a97d6b1f81fb2637cde8b2.png


constructor


object的每个实例都具有属性constructor,保存着用于创建当前对象的函数


3bc8e7d4f4a45254623654b3ea52a816.png


常用特殊字符


字符 含义
\b 退格符
\f 换页符
\n 换行符
\r 回车符
\t Tab (制表符)
\v 垂直制表符
' 单引号
" 双引号
\ 反斜杠字符(\)


相关文章
|
1天前
|
缓存 JavaScript 前端开发
前端框架与库 - Vue.js基础:模板语法、数据绑定
【7月更文挑战第14天】Vue.js 是渐进式框架,以简洁API和高效数据绑定知名。本文聚焦模板语法与数据绑定,解释常见问题和易错点,助力初学者避坑。模板语法中,{{ expression }} 用于渲染值,v-bind/: 用于动态绑定属性。数据绑定涉及文本、属性和事件,注意v-model适用于表单元素,计算属性有缓存。理解正确用法,借助文档和IDE,可提升开发质量和效率。善用Vue.js,打造响应式UI。
|
16天前
|
存储 JavaScript 前端开发
JavaScript 语法
JavaScript 语法
15 5
|
12天前
|
存储 JavaScript 前端开发
|
23天前
|
JavaScript 前端开发
JavaScript语法关键点:变量用`var`、`let`、`const`声明
【6月更文挑战第22天】JavaScript语法关键点:变量用`var`、`let`、`const`声明;七种数据类型包括`Number`、`String`、`Boolean`、`Null`、`Undefined`、`Symbol`和`Object`;运算符如算术、比较、逻辑和赋值;流程控制有`if...else`、`switch`和各种循环。了解这些是JS编程的基础。
32 3
|
10天前
|
前端开发 JavaScript
js【详解】Promise(含 Promise 的三种状态及其变化,创建 Promise, Promise.all 语法、Promise.all 实战范例、手写 Promise.all)
js【详解】Promise(含 Promise 的三种状态及其变化,创建 Promise, Promise.all 语法、Promise.all 实战范例、手写 Promise.all)
22 0
|
12天前
|
存储 缓存 自然语言处理
|
2月前
|
JavaScript
细讲Node.js模块化,以及 CommonJS 标准语法导出和导入,详细简单易懂!
细讲Node.js模块化,以及 CommonJS 标准语法导出和导入,详细简单易懂!
|
2月前
|
JavaScript 前端开发
node.js中path模块-路径处理,语法讲解
node.js中path模块-路径处理,语法讲解
|
2月前
|
JavaScript 前端开发
node.js中的fs模块,读写语法讲解
node.js中的fs模块,读写语法讲解
|
2月前
|
XML JavaScript 前端开发
JavaScript简介&引入方式(JavaScript基础语法、JavaScript对象、BOM、DOM、事件监听)
JavaScript简介&引入方式(JavaScript基础语法、JavaScript对象、BOM、DOM、事件监听)
23 2