JS基础
文章目录
- JS代码需要编写在script标签中
JS语言输出信息
//1. 浏览器弹出一个警告框
alert('页面中的警告信息');
//2. 页面输出内容
document.write('页面body中的输出信息');
//3. 控制台输出信息
console.log('控制台输出信息');
代码的默认执行顺序,由上往下,只有前面的执行完毕后,后面的才执行。
JS的位置
<!-- 1. js代码可以放置在标签的特定属性中(不方便后期维护,不推荐使用)-->
<button onclick="alert('按钮被点击')">按钮</button>
<a href="javascript:alert('链接被点击');">链接</a>
<!-- 2. 放在script标签中 -->
<script>
alert('scrip标签');
</script>
<!-- 3.放在js文件中,然后引入进来 -->
<!-- 外部引入js的标签中不能再继续写js代码,如果需要继续写js代码则需要再创建script标签 -->
<!-- 吓到外部的文件中的js带么可以使用到不同的html文件中,就可以使用到浏览器的缓存机制 -->
<a href="javascript:alert('链接被点击');">链接</a>
链接没有响应,可以去掉链接的默认行为。
JS的注释
//注释用来解释说明代码意图
//1. 我是单行注释
/*
2.
我是
多行
注释
*/
//注释中的内容不会被执行,但是可以在源码中被查看
//也可以借助注释对代码进行简单的调试
js语法规定
//JS中严格区分大小写,下面代码中可以弹出alert01,和alert02,但是不能弹出ALERT03
alert("alert01");
alert("alert02");
ALERT("ALERT03");
//js代码在书写时尽可能的在语句末尾书写分号
//js会忽略多个空格和换行。
变量
//字面量:不可改变给定的值,可以直接使用;例如:admin
//变量,可以保存字面量的值,而且保存的值可以任意改变
//声明变量(本质是在内存中开辟一个空间)
var a;
//赋值
a=20;
a='admin';
//使用
console.log(a);
//声明+赋值
var b=10;
JS标识符
JS中所有可以被我们自主命名的都可以成为标识符,比如:变量名,函数名,属性名,对象名
命名规则:
- 可以含有数字、字母、下划线以及$
- 不能以数字开头
- 不能使用保留字和关键字
命名规范:
习惯使用驼峰命名法,首字母小写,其余单词首字母大写。
JS中的6种数据类型
- String:字符串
- Number:数字类型
- boolean:布尔类型
- Null:空值类型
- Undefined:未定义
- Object:对象类型
JS字符串
在JS中使用单引号或双引号表示的数据类型为字符串
同类引号不能嵌套,不同类型可以嵌套
//单引号
var str = '这是字符串';
//双引号
var str2 = "这也是字符串";
//字符串的嵌套
var str3 = "这是'特殊'的字符串"
使用\可以进行转义,比如\“表示输出”,\n表示换行,\t表示制表符tab键,\\表示\。
JS数值类型
在JS中,所有的数值类型都是number型,包括小数,整数。
布尔类型
表示只有真和假两种状态的数据类型。
boolean类型的值,只有两种:true和false。
利用typeof检查一个布尔值时,返回boolean
var flag = true;
console.log(flag,typeof flag);
//返回的值为false boolean
Null类型
null表示一种数据类型,它的值只有一个就是null
程序中特有的类型,null表示为空的一个对象.
可以理解为一个变量原来指向一个对象,现在指向一个特殊的值,这个值为null
当一个变量类型为null时,计算机就能加快回收变量所使用的内存资源
使用typeof检查null数据类型时,返回一个object
Undefined类型
当声明一个变量,没有赋值时,则变量的数据类型为undefined类型
undefined表示未定义,该类型的值只有一个就是undefined
可以理解为只有名字,没有分配内存资源
使用typeof返检查一个undefined类型数据,返回undefined
String类型转换
将其他类型转换为string类型
- 调用被转换数据类型的toString()方法, 该方法不会影响原始的数据类型,返回string类型的转换结果。如果想改变原始的数据类型,则需要重新赋值。
var num = 123;
console.log(num,typeof num);
//输出结果为123 number
//将数值转换为string类型
var res = num.toString();
console.log(num,typeof num);
console.log(res,typeof res);
//输出结果前者为123 number 后者为123 string
//转换后赋值
num = num.toString();
console.log(num,typeof num);
//输出结果为123 string
null类型和undefined类型没有toString()方法。
- 调用String()函数,并将被转换的数据作为参数,传递给函数,String()函数将其他类型转换为string类型,String()函数不影响原始的数据类型,将null类型转化为’null’,将undefined转化为’undefined’。
number类型转换
将其他类型转化为number,使用Number()函数
转换情况:
- 数字字符串,直接转换为数值类型
- 非数字字符串,转换为NaN(Not a Number)
- boolean类型转换为数值类型,true转换为1,false转换为0
- null类型转换为0, undefiend类型转换为NaN
- 如果字符串存在非数值字符串则不能转换,结果为NaN
- 如果是空字符串则可以转换,转为为0,存在空格也会转换为0
- 如果字符串中含有字母则不能转换为number类型
- 使用parseInt():将字符串转换为整数,能够将字符串中的有效数字提取出来,遇到非整数停止提取
- 使用parseFloat():将字符串转换为小数
转换为布尔类型
将其他类型转换为布尔类型,只有0,NaN,""(不带空格),null,undefined转换为false,其余都是true。
非十进制表示
表示十六进制的数字,则需要0x开头
表示八进制的数字,则需要0开头
表示二进制的数字,则需要0b开头,但不是所有的浏览器都支持