JavaScript
特点:1.直译式脚本语言;
2.一种动态类型、弱类型、基于原型的语言;
3.在HTML网页上使用,用来给HTML网页增加动态功能;
alert():
alert 就是英语中“警报”的意思,能够让页面弹出警告框。
让浏览器弹出一个窗口,窗口里的内容就是alert()中的内容。
<title>hello</title>
<script>
// 单行注释 ctrl+/
alert("hello word!");
console.log():
控制台是 浏览器“检查”或者“检查元素”里面的功能,快捷键是 F12。英文叫做 console。
console 就是控制台,log 就是日志的意思,这里是动词,表示打印。
console.log("hello word!")
// log:打印
程序运行后所产生的错误,都会在控制台中输出,控制台是调试程序的一个利器。
注释:
1.单行注释:// 注释内容 不可换行;
2.块级/多行注释:/* 注释内容 可以换行 */;
内部书写:使用scriipt标签引入js,script标签可以放在任何位置
<script>
console.log("内部引入")
</script>
外部书写:使用外部js,类似于css的引入,可以在任何地方引入;
<script src="js/a.js"></script>
标识符:(就是一个名字,用来对变量、函数、属性等进行命名。)
命名规范:第一个字符必须是一个字母、下划线(_)或一个美元符号($);
其他字符可以是字母、下划线、美元符号或数字;
不能含有空格;
不能以关键字或保留字命名。
关键字:关键字可用于表示控制语句的开始或结束,或者用于执行特定操作等。(不能用作标识符。)
保留字:保留字有可能在将来被用作关键字来使用(不能用作标识符。)
变量:
变量是存储信息的容器。
定义变量——使用关键字 var 声明。var 就是英语 variables 变量的缩写
定义一个变量a,电脑内存中,就会开辟一个空间,来存储这个变量 a。
可以给这个变量赋值,JS 中给变量赋值用等号,等号右边的值赋给左边。
var a=20;
console.log(a);
<script>
// 标识符:字下美其后数
// 见名知意
// 声明
var name;
// 赋值 =
name="111";
// 边声明边赋值
var age=18;
//一次声明多个变量
var a,b,c,d;
a=10;
b="试试";
c="ff";
d=32.5;
//张三,20,男,爱好:女
var name1="张三";
var age1=20;
var sex1="男";
var hobby1="女";
console.log(name1);
console.log(age1);
console.log(sex1);
console.log(hobby1);
变量的命名规范:
第一个字符必须是一个字母、下划线(_)或一个美元符号($);其他字符可以是字母、下划线、美元符号或数字;不能含有空格;不能以关键字或保留字命名。
变量的赋值:
变量的赋值用等号,等号就是赋值符号;
// 变量使用前必须先声明
// console.log(name2);
// 变量可以不声明,直接赋值并使用,不建议
name3="张三丰";
console.log(name3);
// 声明,未赋值的变量,使用时会出现错误提示 undefined
var aaa;
console.log(aaa);
数据类型:
五种原始数据类型:
Number:值是数字;
String:值是字符串;
Boolean:值为布尔值 只有true或false—真或假;
Undefined:值未定义;
Null:值为空 (空对象);
Number类型:
avaScript 唯一的数字类型,不再细分为整型int、浮点型float等。;
数字字面量:十进制、八进制和十六进制;
十进制数:最基本的数字;
八进制数:(八进制字面值第一位必须是零,后面的数字必须是0~7之间的数,超出范围 ,前面的零被忽略);
十六进制数:(十六进制字面值前两位必须是0x,后跟任何十六进制数字(09和AF)。A~F不区分大小写。);
// number 数字
var a=12;
var b=32.4;
var c=-99;
// 八进制 第一位0后边0~7组成的数字
var d=0o123;
console.log(d);
// 运行没错,但是代码会报错
// var e=0123;
// console.log(e);
// 十六进制字面值前两位必须是0x,
// 后跟任何十六进制数字(0~9和A~F)。A~F不区分大小写。
var f=0x123;
var g=0xABC;
String类型:
字符串的字面量,必须用双引号、单引号包裹起来。
字符串被限定在同种引号之间,即必须是成对单引号或成对双引号。
双引号内部如果要使用相同的引号,可以使用 \ 反斜杠进行转义;
反斜杠自己也用反斜杠来转义;
// string 字符串 必须被引号包围
var h="你好";
var i='你好';
// 如果变量的标识符被加上引号,
// 就不再是变量,就变成了字符串
var j="f";
// 你好"张三" 'ljy'是好人
var k='你好"张三"';
var l="'ljy'是好人";
// 你是"坏人"吗?不是'坏人'
var m=" 你是\"狗\"吗?不是'狗'"
console.log(k);
console.log(l);
console.log(m);
var n="d:\\a\\a.html";
console.log(n);
常用的转义字符:
// 回车换行
var o="hello \nword!";
console.log(o);
Boolean类型:
布尔(逻辑)只能有两个值:true 或 false。布尔值常用在条件测试中。
Boolean类型中,字符串、非 0 数字、对象,将返回true ;空字符串、数字0、undefined、 null、NaN,将返回 false。
var a=true;
var b=false;
//true和false不能加引号
Undefined类型:
使用var声明变量但未对其赋值,这个变量就是undefined。
var a;
console.log(a); //undefined
// 使用var声明变量但未对其赋值,这个变量就是undefined。
var r;
console.log(typeof r);
Null类型:
从逻辑角度看,null值表示一个空对象指针,所以typeof操作符检测null时会返回“object”。
var a = null;
console.log(typeof a); //object
数据类型检测:数据类型检测:typeof(x) 或 typeof x;
console.log(typeof a); // 输出number
console.log(typeof b); // 输出string
// 检测数据类型
console.log(typeof a);
console.log (typeof o);
数据转换:
Number类型转换:
Number () 属于强制类型转换方法
把变量的值转换为数字,转换的是整个值,而不是部分值。
如果变量的值无法转换为数字,那么 Number() 函数返回 NaN。
// Number() 把变量转换为数字
// NaN 非数字
var str1="123";
var str2="1234a";
var str3="a1234";
var str4="aa";
var str5='a';
console.log(Number(str1));
console.log(Number(str2));
console.log(Number(str3));
console.log(Number(str4));
console.log(Number(str5));
parseInt (string,radix) :
只有字符串中的第一个数字会被返回;
开头和结尾的空格是允许的;
如果字符串的第一个字符不能被转换为数字,那么 parseInt() 会返回 NaN。
// 转换为整数
console.log(parseInt("123.8"));
console.log(parseInt("123a"));
console.log(parseInt("a123"));
console.log(parseInt("1.2.3"));
console.log(parseInt(null));
console.log(parseInt(false));
parseFloat (string) :
开头和结尾的空格是允许的。
如果字符串的第一个字符不能被转换为数字,那么 parseFloat() 会返回 NaN。
如果只想解析数字的整数部分,请使用 parseInt() 方法。
开头和结尾的空格是允许的。
如果字符串的第一个字符不能被转换为数字,
那么 parseFloat() 会返回 NaN。
如果只想解析数字的整数部分,请使用 parseInt() 方法。
// 转换为浮点数(小数)
console.log(parseFloat("123"));
console.log(parseFloat("123.33"));
console.log(parseFloat("123.2.2"));
console.log(parseFloat(" 123.2 "));
isNaN():
如果把NaN 与任何值(包括其自身)相比得到的结果均是 false,所以要判断某个值是否是 NaN,不能使用 == 或 === 运算符。正因为如此,isNaN() 函数是必需的。
// 检查是不是 非数字 false---->数字 true---->非数字
console.log("------------------------------");
console.log(isNaN(123));
console.log(isNaN("123"));
console.log(isNaN("a"));