js基础知识 下载本文

内容发布更新时间 : 2024/6/24 21:37:51星期一 下面是文章的全部内容请认真阅读。

Js1k:用1k的代码做出炫目的效果。代码扩写 犀牛书

微信公众号:前端大全

1. ***变量

2. ***数据类型

一. ***变量:内存中存储*一个*数据的存储空间,再起一个名字

何时使用:程序中反复使用的数据,都要先保存在变量中,再参与运算 如何使用:声明 赋值 取值 1. 声明:在内存中创建一个新变量 如何声明:var 变量名;

仅声明,但暂未赋值,默认值为undefined

变量命名:1. 不能以数字开头,仅能包含字母,数字和下划线 2. 不能用保留字:js中已经预先使用的关键字 比如:name X 3. 见名知意

4. 驼峰命名:第一个单词首字母小写, 之后每个单词首字母大写: 比如:backgroundColor,listStyleType 2. 赋值:将等号*右边*的数据,保存到等号*左边*的变量中 如何赋值:变量名=值;il

*对已经包含值的变量赋新值,新值会替换旧值* 建议:1. 在声明同时,初始化变量的值

如何在声明同时初始化:var 变量名=值;

3. 取值:只要使用变量名,在运行时,会被自动替换为变量中的值

特殊情况:3种:

1. 只声明,但未赋值的变量,可任意使用 比如:var hb; console.log(hb); //undefined 2. 从未声明的变量,不能使用(取值)!

报错:ReferenceError: XXX is not defined

3. 未声明的变量,却可赋值!——其实和var不一样 强烈建议:必须用var声明变量

***声明提前:在程序正式*执行前*,都会将var声明的变量提前到*当前脚本块*的顶部集中声 明。再开始执行程序。***赋值留在原地***

常量:一旦初始化,值不能改变的量

何时使用:程序中,一旦定义不可擅自改变的值,都要用常量保存 如何创建:const 常量名=值;

用作常量的名称,都要大写字母

强行修改常量的值,不会报错,但也无法修改成功!

二. ***数据类型:数据在内存中的存储形式

1.为什么要有不同数据类型:现实中,不同类型的数据,都有专门的用途 2.数据类型:2大类:*原始类型*的值和*引用类型*的对象

原始类型:值直接保存在变量本地的类型(值为一个,而且不能特别复杂) 原始类型5类:Number String Boolean undefined null 引用类型:值没有直接保存在变量本地的类型

变量中只保存指向实际数据所在位置的地址值

1. Number:表示所有数字,即可表示整数,又可表示浮点数(小数) 如何定义:凡是不加引号的数字,都是Number类型数据 何时使用:只要做计算或比较的数字,都不加引号 比如:年龄 价格

所占空间:所有数字都是用64位二进制数(8字节)存储

(个别)整数采用32位二进制(4字节)存储

1byte=8Bit

字节 位

结论:数值大小和所占空间,无关。

十进制转2进制:var i=500; console.log(i.toString(2));

舍入误差:计算机中也有无法精确计算的数字而导致的计算结果进度偏差。—不可避免

解决:按指定小数位数四舍五入

n.toFixed(2)-->将计算结果按2位小数四舍五入

2.String:字符串,表示所有文字信息

如何定义:凡是用作显示的信息都要加引号,单双引号不分 何时使用:凡是用作显示的信息都要加引号 比如:手机号 身份证号 QQ号

js中没有字符类型,所以一个字也要加引号。 所占空间:每个英文字母或数字,1字节 每个汉字,2字节

js的内存中都是用字符的unicode号存储字符

unicode:人为给主要语言中的每个字符编一个号

***字符串内容一旦创建,值不可改变,非要改变,只能用新字符串替换旧字符串。

特殊:+运算中,如果参与运算的都是字符串,则加法变为字符串拼接 var str=\ str=str+\

console.log(str); //过程中共创建了几个字符串//3个

字符串不能修改是。

Day 02

回顾:

1. js数据类型:2大类:

原始类型: 5个Number String Boolean undefined null 引用类型

Boolean类型:只有两个值:true , false

何时使用:主要保存对/错,真/假, 成立/不成立,都用boolean类型 如何定义:不带引号的true和false就是boolean类型

正课:

1. ***数据类型转换 2. ***运算符和表达式

1. ***数据类型转换:

***js是弱类型编程语言:3点:

1. 声明变量时,不用考虑变量中将要存储的数据类型 2. 赋值时,动态判断数据的类型

因为是动态判断同一个变量,先后可保存不同类型的数据。 3. 运算时,js会根据自己的需要,动态转换数据类型

2大类:

1. 隐式转换:无需程序员干预,而自动完成的转换 先讨论算数运算中的隐式转换: 规律:1). 默认一切转数字类型,做算数计算

bool类型:true-->1 false-->0 2). +法中,只要有一个是字符串, 都转为字符串,+变为字符串拼接

其他类型转字符串: 在字面量前后直接加引号

(转字符串:true-->”true”)

表达式:由数据,变量和运算符组成的公式 *默认,从左向右,两两计算 NaN(Not a Number):“不是一个数字”的“数字(类型:指的是数字类型)”

何时遇到:当无法转为数字时,或无法正常计算时,结果都为NaN

特点:和任何数据做计算,结果永远为NaN

加法计算中,碰上字符串,也会转为\ typeof(x): 返回x的数据类型名称: Number String Boolean