js-基础

本文详细介绍了JavaScript的基础知识,包括书写格式、表达式、标识符、数据类型(如基本数据类型和引用数据类型)、数据类型转换、逻辑运算符、运算符的优先级、条件分支语句、循环语句、数组的操作(如增删改查)以及集合、堆和栈的概念。此外,还涵盖了位运算和解构运算符等内容。
摘要由CSDN通过智能技术生成

js基础

概述:
  • 软件:实现一定功能,由多个程序组成

  • 程序:由数据结构和算法组成

  • 数据结构:储存数据的方式

  • 算法:解决问题的方法和步骤

开发语言

解释性语言JavaScript

编译性语言
【软件设计步骤】

  1. 软件计划
  2. 需求分析
  3. 软件设计(数据结构和算法)
  4. 软件开发
  5. 软件测试
  6. 软件上线
  7. 软件维护
    1. 语法错误:没按照规范书写格式进行书写
    1. 逻辑错误:语法正确,结果和需求不符合
    1. 运行错误:语法和逻辑正确,运行后保持,死循环

算法
定义:解决问题的方法和步骤
特点:

    1. 有效性:a除以b b不能为0
    1. 有穷性:解决问题的步骤是有限的,不能是无穷
    1. 确定性:判断时给定确定的目标或标准,不能是模糊的
    1. 0到多个输入
    1. 1到多个输出

[运算符]():

= 赋值运算符
== 比较运算符

& 逻辑运算符

【注释】

  • // 单行文本
  • /* */多行文本

ECMA

ECMAScript
ES5
ES6

【语句】

书写格式:

关键字 表达式 分号(以分号表示一条语句的结束)

表达式

可以得到结果的公式

标识符

创建变量的方式

看分号判断哪一个是语句
#####书写格式:关键字 标识符 赋值符号 表达式 分号
关键字 标识符 赋值符号 表达式 分号 **ES5 可以重复声明标识符** 变量提升 var i = 1+2 ; **ES6 不可以重复声明标识(不同作用域 )** **let 是声明变量** let i = 1000 ; **const 是声明常量(基本数据类型)** const z = 200 ;
判断标识符的数据类型
书写格式: typeof 标识符
注:输出一个为声明变量的类型则为undefined

获取目标文件的结果

node text(文件名).js(后缀名)

报错原因

使用未声明的标识符
console.log(f74);//f74 is not defined

声明未赋值的变量
console.log(i);//undefined

变量提升 只提升变量的声明,不提升变量的赋值。
即把变量的声明,提升到js文件的第一行
console.log(i);
let i=3;ES6中,出现‘Cannot access 'i' before initialization’,'console.log(i);'出现暂时性死区

作用域

功能:变量的使用范围

局部作用域

局部作用域中var声明变量
,会自动提升为全局变量
注:只赋值,

全局作用域

标识符

【命名规范】
【硬性要求】

  • 不能以数字开头,可以包含(数字、字母、下划线、美元符号)
  • 不许使用关键字保留字
  • 区分大小写(大小写敏感)
    【软性要求】
  • 望文知意

命名法

  1. 小驼峰命名法
    除了第一个词外其他的首字母大写
    例:faWai zhangShan
  2. 大驼峰命名法
    所有词首字母大写
    例:FaWai ZhangShan
  3. 蛇形命名法
    例: fa_wai zhang_shan
  4. 匈牙利命名法
    数据类型_变量名
    例:N_num

数据类型

【基本数据类型(简单数据类型)】
  1. 数值型(Number)
  • 整数
  • 浮点数(小数)
  • NaN (但操作一个非数值类型的计算,结果就会是NaN)
  • +∞ + infinity -∞ - infinity
  1. 字符型(String) 必须加""引号
  • 双引号 “”
  • 单引号 ‘’
  • 字符串模板
  1. 布尔型(Boolean)true真 false假
    布尔转换为数值 true为1 false为0
if (1) {
   
    console.log("love");
}//true转换为1,出现love

if (0) {
   
    console.log("love");
}// false转换为0时没有数值

数值转换成布尔值

let i = 1;
console.log(!i);//false
let j = 0;
console.log(!j);//true
  • 其他数据类型转换布尔值

  • 0

  • ’'

  • ""

  • ``

  • undefined

  • null

  • false

  • NaN

    这些数据都会转换成false

使用场景:当其他数据类型作为判断条件时才会隐式转换Boolean

  1. Undefined undefined

  2. Null null 表示“空对象”

  3. SymbolObject中解释

判断标识符的数据类型
书写格式: typeof 标识符

注:输出一个为声明变量的类型则为undefined

判断标识符的数据类型
书写格式:  typeof 标识符
注:输出一个为声明变量的类型则为undefined
console.log(typeof i);//un
数值型:
let i = 1;
console.log(typeof i);//number

字符型
let i = "abc";
console.log(typeof i);//string

布尔型
let i = false;
console.log(typeof i);//boolean

Undefined
let i = undefined;
console.log(typeof i);//undefined

Null
let i =null ;
console.log(typeof i);//object

【引用数据类型(复杂数据类型)】

Object:对象

数据类型转换

【强制转换】
let i = 123;
console.log(i, typeof i);//123 "number"
 i = Boolean(i);
console.log(i, typeof i);//true "boolean"
i = Object(i);
console.log(i, typeof i);//Boolean {true} "object"
【隐式转换】
  • 加号先判断产与运算的有没有字符类型的,如果有即为拼接,如果都为数值则为加法
let i = "123";
let z = 1;
console.log(i + z);//与i产生拼接,结果为1231
  • 数值转换成布尔值
let i = 1;
console.log(!i);//false
let j = 0;
console.log(!j);//true
  • 字符转换成布尔值
let z = "abc";
console.log(!!z);//true

【逻辑运算符】&&

返回Boolean

与运算

一假全假

let result = true && false;
console.log(result);//false

console.log(1 && 0 && 6);
或运算

一真全真

let result = true || false;
console.log(result);//true

非(取反)
result = !false;
console.<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值