JavaScript基础认识与数据类型
JavaScript基础认识与数据类型
JS的组成
1.ECMAScript javascript语法
2.DOM 页面文档对象模型
3.BOM 浏览器对象模型
JS的引入方式
⚠️注意: js 可以在页面的任何地方使用
1.内嵌JS:通过 script 标签引入:在页面的任何地方
2.外链JS:通过 script 标签的src 属性引入外部的 js 文件
3.行内JS:直接把js代码放到html的开始标签中,作为标签的属性引入
注释
// 单行注释 快捷键 Ctrl + /
/**/ 多行注释 快捷键 shift + Alt + a
输入输出语句
alert(msg) 浏览器弹出警示框
console.log(msg) 浏览器控制台打印输出信息
prompt(info) 浏览器弹出输入框,用户可以输入
document.write() 将内容写入到html文档中
变量
🟢变量是用于存放数据的容器,我们通过变量名获取数据,或者修改数据
🟢变量的本质是程序在内存中申请的一块用来存放数据的空间
变量的命名规则
1.变量名必须以字母,$,或 _ 作为开头,后边可以是字母,数字,_ 的组合
2.变量名严格区分大小写
3.变量名不能使用关键字和保留字
变量的使用
🟢声明变量
var:声明的变量拥有全局作用域或局部作用域
let: 声明的变量是块级作用域
const:声明的变量是常量,常量的值不允许更改(基本数据类型),常量名通常使用大写
🟢声明变量的方式
1.声明变量的同时并赋值
var num = 10;
let str = 'Eamon';
const score = 300;
2.先声明,后赋值
var a = 100;
var b = 200;
var c;
c = a + b;
3.使用一个关键字声明多个变量,用逗号隔开
var num1 = 10,
num2 = 10,
str = 'hello',
sum;
数据类型🔴
基本数据类型
String 字符串类型:用来存储和处理文本数据
1.字符串类型需要使用引号包裹起来(单双引号都可以)
2.单双引号可以嵌套使用,引号成对出现;如果单双引号自身嵌套,需要通过转义字符
\'
,\"
3.字符串类型的数值字面量;该形式的字符串类型数据在某些情况下,会存在隐式类型转换:转换为数值类型
var str = '10099'; console.log(isNaN(str));//false
4.空字符串:通常作为初始值来使用(对变量进行初始化操作)
var str = '';
Number 数值类型
整型:整数
浮点型:小数
🟢存在一些特殊值:
1.NaN 非数值 自身与自身都不相等
通过isNaN( ) 方法可以判断一个值/变量 是否是非数值,结果是个布尔值,true : 非数值,false: 是数值
2.Infinity 无穷
通过isFinite( ) 方法判断一个值或者变量是否有穷;结果是一个布尔值,true : 有穷,false:无穷
🟢数值类型的表示方式:
⚠️在浏览器中始终以十进制显示
十进制:
八进制: 070 以0作为前缀,是数字0-7的组合
十六进制: 0xaf 以0x为前缀,后边是数字0-9,字母a-f组合
科学计数法:5.1e5
Boolean 布尔类型
只有两个值 true false
true :真,条件成立
false:假,条件不成立
🟢隐式类型转换
6种假值:
1.空字符串 转换为false
2.数值类型的 0 转换为false
3.数值类型 NaN转换为false
4.Null undefind 转换为false
5.false
Null 空
Undefined 未定义
只有唯一的值 undefined
表示一个变量声明了,但未赋值(初始化),则该变量的默认值是undefined
⚠️Null与Undefined的区别:
null
表示没有对象,即该处不应该有值1) 作为函数的参数,表示该函数的参数不是对象
2) 作为对象原型链的终点
undefined
表示缺少值,即此处应该有值,但没有定义1)定义了形参,没有传实参,显示undefined
2)对象属性名不存在时,显示undefined
3)函数没有写返回值,即没有写return,拿到的是undefined
4)写了return,但没有赋值,拿到的是undefined
Symbol 唯一值 es6 新增
引用数据类型
对象 Object
数组 Array
函数 Function
正则对象 RegExp
日期 Date
判断变量的数据类型
typeof 运算符:可以判断变量/值的数据类型
var str='100';
console.log(typeof str);
缺点:没有办法区分Undefined类型和undefined值
数据类型的转换
基本数据类型转换
parseInt( )
:转换为整型 (数值类型)
转换机制:逐位进行转换,首先判断第一位是否是有效数字,如果是则转换,继续判断第二位,以此类推,知道遇到一个非有效数字时,停止转换,此时会把前边转换的有效数字作为一个整体返回 ; 如果第一位不是有效数字, 则直接返回结果 NaN
var num = '88元'; // 88
var num = '88hello'; // 88
var num = '售价88'; // NaN
var num = '99售价88'; // 99
parseFloat( )
:转换为浮点型(数值类型,小数)
console.log(parseFloat(100.99));
toString( )
:转换为字符串类型
强制类型转换
String( )
可以强制转换null和undefined
Number( )
强制转换为数值类型:
整体进行转换,如果可以转换,则进行转换为数值类型,如果里边还有非有效数字,则直接返回结果NaN
console.log(Number(100));//100
console.log(Number(10.033));//100
console.log(Number('88.677'));//88.677
console.log(Number('88.677.98')); // NaN
console.log(Number('88hello')); // NaN
Boolean( )
布尔类型
console.log(Boolean(0)); // false
console.log(Boolean(10));// true
console.log(Boolean(NaN)); // false
console.log(Boolean(undefined)); // false
console.log(Boolean(null)); // false
console.log(Boolean('')); // false
console.log(Boolean('false')); // false