JavaScripy入门
1.alert(弹窗): 能够让页面弹出警告框 让浏览器弹出一个窗口,窗口里的内容就是alert()中的内容。
2.console.log():控制台是 浏览器“检查”或者“检查元素”里面的功能,快捷键是 F12,英文叫做 console。
程序运行后所产生的错误,都会在控制台中输出,控制台是调试程序的一个利器。
比如下方语句中用了中文符号,有语法错误:
Console面板就是控制台,红色字体是错误信息 右边是错误出现的行号。
在控制台中输出就要使用console.log();
console 就是控制台,log 就是日志的意思,这里是动词,表示打印。console.log(“你好啊");
JavaScript语句
alert(“你好啊!”); 这是一条语句
JS中的每条语句以分号 ; 结尾。
如果语句是一行一行写的,没有分号结尾也是有效语句。但项目做好后,通常都会进行压缩,用软件把所有的空格、换行都去掉。此时,语句末尾的分号显得非常重要,如果去掉分号,将不能执行。
注意:所有的符号都是英文的符号,不要用中文
错误:
<script type="text/javascript">
alert("你好")alert("帅")alert("哈哈哈哈")
</script>
正确:
<script type="text/javascript">
alert("你好");alert("帅");alert("哈哈哈哈");
</script>
单行注释:// 注释内容 不可换行。
<script type="text/javascript">
//我是一行注释
//再来一行
alert("你好");
</script>
块级/多行注释:/* 注释内容可以换行 */
<script type="text/javascript">
/*
我是一行注释
再来一行
再来一行
*/
alert("你好");
</script>
注释用于提高代码的可读性。
内部书写
在HTML文件中直接进行代码的书写,JS 写在
注意:这个 type必须写准确,可以不写,但是要写,一定要写准确,否则失效。
外部引入
直接写在HTML标签内(不推荐使用)
标识符
就是一个名字,用来对变量、函数、属性等进行命名。
标识符命名规范:
第一个字符必须是一个字母、下划线(_)或一个美元符号($);
其他字符可以是字母、下划线、美元符号或数字;
不能含有空格;
不能以关键字或保留字命名。
关键字、变量、函数名及所有的标识符都区分大小写
关键字
关键字可用于表示控制语句的开始或结束,或者用于执行特定操作等。
Javascript 中的很多内置功能用关键字标注起来,便于程序员调用。
按照规则,关键字也是语言保留的,不能用作标识符。
break do instanceof typeof
case else new var
catch finally return void
continue for switch while
function this with default
if throw delete in
try
保留字
保留字有可能在将来被用作关键字来使用,不能用作标识符。
abstract int short boolean
export interface static byte
extends long super char
final native class float
throws const goto private
double import public
变量
变量是存储信息的容器。
JavaScript的变量为弱变量,可以用来保存任何类型的数据。
定义变量——使用关键字 var 声明。var 就是英语 variables 变量的缩写
var a;
定义一个变量a,电脑内存中,就会开辟一个空间,来存储这个变量 a。
可以给这个变量赋值,JS 中给变量赋值用等号,等号右边的值赋给左边。
可以通过var声明多个变量,变量与变量之间以,逗号隔开
使用一个变量,必须先进行一个 var,才能使用。 var 这个过程可以叫做声明 declaration,也可以叫做定义 definition。
变量的命名规范
第一个字符必须是一个字母、下划线(_)或一个美元符号($);
其他字符可以是字母、下划线、美元符号或数字;
不能含有空格;
不能以关键字或保留字命名。
变量的赋值
量的赋值用等号,等号就是赋值符号
var a; // 定义
a = 100; // 赋初值
console.log(a); // 输出:100
var a = 100; // 定义和赋初值一起写
console.log(a); // 输出:100
var a = 100;
var b = 200;
// 改变 a 变量的值,a 的值变为 200。b 的值不变。a = b;
console.log(a); // 输出:200
console.log(b); // 输出:200
当声明了一个变量,想改变该变量值时,
不需要 var重新声明
var a = 100;
a = 50;
console.log(a); // 输出:50
一个变量,通过var声明但未被赋初值时,
变量的值为 undefined;
变量声明的提升
a = 100;
var a; // 这行代码会自动提升到所有语句之前
console.log(a); // 输出:100
注意:JS 只能提升变量的声明,而不能提升变量的赋初值
不写 var 的情况
a = 123;
console.log(a); // 输出:123
字面量
在计算机科学中,字面量(literal)是用于表达源代码中一个固定值的表示法(notation)。由字母,数字等构成的字符串或者数值,它只能作为右值出现,所谓右值是指等号右边的值。
字面量分为:字符串字面量(string literal )、数字字面量、数组字面量(array literal)和对象字面(objectliteral),另外还有函数字面量(function literal)。
区分变量还是字面量
变量的时候,不能加引号。如果变量加上引号,就变成字符串了。
var a = 100;
console.log(“a"); // 这里输出a,而不是输出100
引号是“字符串”的定界符,在双引号里面的 a 已经失去了变量的意思,代表的就是一个字符串 a。
JavaScript数据类型及类型转换运算符
数据类型
可分为原始类型和对象类型,也可以分为可变类型和不可变类型。
可变类型的值是可修改的。对象和数组属于可变类型;数字、布尔值、NULL和undefined属于不可变类型。
字符串可以看成由字符组成的数组,但是是不可变的。
五种原始数据类型
Number 值是数字
String 值是字符串
Boolean 值为布尔值 只有true或false—真或假
Undefined 值未定义
Null 值为空 (空对象)
一种复合数据类型 Object
对象object、数组Array、函数Function等都属于object类型
数据类型检测
数据类型检测:typeof(x) 或 typeof x
var a = 100;
var b =“小明”;
console.log(typeof a); // 输出number
console.log(typeof b); // 输出string
String类型
字符串是存储字符的变量。
字符串的字面量,必须用双引号、单引号包裹起来。
字符串被限定在同种引号之间,即必须是成对单引号或成对双引号。
var str1=“今天天气很好”;
必须是同种引号,下面的写法是错误的:
var str2=‘哈哈”;
一个数字用引号包裹起来,就是字符串类型:
var str3=“3”;
正常情况下,双引号里面只能用单引号或者单引号里只能用双引号:
var str4=“老师说你像’考拉’一样漂亮”;
var str5=‘老师说你像"考拉"一样漂亮’;
字符串是存储字符的变量.
双引号内部如果要使用相同的引号,可以使用 \ 反斜杠进行转义:
var str6=“老师说你像\"考拉\"一样漂亮";
// 反斜杠自己也用反斜杠来转义:
var str7="c:\\a\\b.jpg");
常用的转义字符:
\n 回车换行
var str8=“你好\n啊\n我是谁\n啊”;
Boolean类型
布尔(逻辑)只能有两个值:true 或 false。布尔值常用在条件测试中。
var a=true;
var b=false;
Boolean类型中,字符串、非 0 数字、对象,将返回true ;空字符串、数字0、undefined、 null、NaN,将返回 false。
Boolean类型转换
把其它类型转化为Boolean的方法:
Boolean() 属于强制类型转换方法
Undefined类型
使用var声明变量但未对其赋值,这个变量就是
undefined。
var a;
console.log(a); //undefined
声明变量以后输出和未声明变量输出区别:
var a;
console.log(a); //undefined
console.log(b); //没有声明b,报错
Null类型
从逻辑角度看,null值表示一个空对象指针,所以typeof操作符检测null时会返回“object”。
var a = null;
console.log(typeof a); //object
Undefined值派生自null,所以ECMA-262规定对它们的相等性测试要返回true。
console.log(null == undefined); //true
console.log(null === undefined); //false
Number类型
JavaScript 唯一的数字类型,不再细分为整型int、浮点型float等。
数字字面量:十进制、八进制和十六进制
十进制数:最基本的数字
var a=34;
var b=100;
八进制数:
八进制字面值第一位必须是零,后面的数字必须是0~7之间的数,超出范围 ,前面的零被忽略,数值当作十进制解析。
var num1=070; //八进制的56
var num2=079; //无效的八进制,解析为79
var num3=08; //无效的八进制,解析为8
十六进制数:
十六进制字面值前两位必须是0x,后跟任何十六进制数字(09和AF)。A~F不区分大小写。
var num1 = 0xA; //十六进制的10
var num2 = 0x1f; //十六进制的31
提示:尽管所有整数都可以表示为八进制或十六进制的字面量,但所有数学运算返回的都是十进制结果。
Number类型转换
把其它类型转化为number的方法:
Number () 属于强制类型转换方法
把变量的值转换为数字,转换的是整个值,而不是部分值。
如果变量的值无法转换为数字,那么 Number() 函数返回 NaN。
parseInt (string,radix) 可解析一个字符串,并返回一个整数。
string 必填项,表示要解析的字符串;
radix 可选项,表示要解析的数字的基数(进制数)。介于2-36之间,如果该参数小于2或者大于36,则parseInt()将返回NaN。
只有字符串中的第一个数字会被返回。
开头和结尾的空格是允许的。
如果字符串的第一个字符不能被转换为数字,那么 parseInt() 会返回 NaN
parseFloat (string) 可解析一个字符串,并返回一个浮点数。
开头和结尾的空格是允许的。
如果字符串的第一个字符不能被转换为数字,那么 parseFloat() 会返回 NaN。
如果只想解析数字的整数部分,请使用 parseInt() 方法。
什么情况下会产生NaN?
NaN(Not a Number的缩写)是number类型里的特殊值,当做数学运算失败的时候,或当其它数据类型转化为number类型失败的时候,会得到NaN的结果。
isNaN() 用于检查变量是否是非数字值。
如果把NaN 与任何值(包括其自身)相比得到的结果均是 false,所以要判断某个值是否是 NaN,不能使用 == 或 === 运算符。正因为如此,isNaN() 函数是必需的。
头和结尾的空格是允许的。
如果字符串的第一个字符不能被转换为数字,那么 parseFloat() 会返回 NaN。
如果只想解析数字的整数部分,请使用 parseInt() 方法。
[外链图片转存中…(img-JpqohM0p-1709193593725)]
什么情况下会产生NaN?
NaN(Not a Number的缩写)是number类型里的特殊值,当做数学运算失败的时候,或当其它数据类型转化为number类型失败的时候,会得到NaN的结果。
isNaN() 用于检查变量是否是非数字值。
如果把NaN 与任何值(包括其自身)相比得到的结果均是 false,所以要判断某个值是否是 NaN,不能使用 == 或 === 运算符。正因为如此,isNaN() 函数是必需的。
[外链图片转存中…(img-auDRiXk6-1709193593726)]