JavaScript学习笔记(正在学)

基础知识

小知识点

  1. JS中严格区分大小写
  2. JS每条语句用分号结束( ;)
    1. 如果不写分号,浏览器会自动添加,但是会消耗一些系统资源
    2. 而且有些时候,览器会加错分号,所以开发中分号必须写
  3. 运行规则:从上往下依次运行
  4. JS会自动忽略多个空格和换行,所以我们可以利用空格和换行对代码进行格式化
  5. 关键字
breakdoinstanceoftypeofcase
elsenowvarcatchfinally
returnvoidcontinueforswitch
whiledefaultifthrowdelete
intryfunctionthiswith
debuggerfalsetruenull
  1. 保留字符
classenumextendssuperconstexport
importimplementsletprivatepublicyield
interfacepackageprotectedstatic
  1. 数据类型指的就是字面量的类型
    在JS中一共有六种数据类型
    1. String字符串 基本数据类型
    2. Number数值 基本数据类型
    3. Boollean布尔值 基本数据类型
    4. null空值 基本数据类型
    5. Undefined未定义 基本数据类型
    6. object对象,引用数据类型

hello world

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <script type="text/javascript">
    /*
    控制浏览器弹出一个警告框
    alert("哥,你真帅啊!!");
    */
    /*
    让计算机在页面中输出一个内容
    document.write()可以向body中输出一个内容
    document.write("看我出不出来~~");
    */
    /*
    向控制台输出一个内容
    console.log()的作用是向控制台输出一个内容
    */
    alert("哥,你真帅啊!!");
		document.write("看我出不出来~~");
    console.log("你猜我在哪出来呢?");
    </script>
</head>
<body>

</body>
</html>

注意:

截屏2021-12-27 23.16.17

JS编写位置

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <script type="text/javascript" src="JS编写位置(外部).js">

    </script>
</head>
<body>

</body>
</html>

Script标签一旦用于引入外部文件了,就不能在编写代码了,即使编写了浏览器也会忽略
如果需要则可以在创建一个新的Script标签用于编写内部代码

截屏2021-12-27 23.36.02

注释

/*
多行注释和C语言一样
*/
// 单行注释

字面量和变量

  1. 字面量:都是一些不可改变的值(比如:12345)

    • 字面量都是可以直接使用,但是我们一般都不会直接使用字面量
  2. 变量:变量可以用来保存字面量,而且变量的值是可以任意改变的;

    • 变量更加方便我们使用,所以在开发中都是通过变量去保存一个字量,而很少使用字面量
    • 通过变量名对字面量进行描述
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <script>
        //声明变量
        //在js中使用Var关键字来声明一个变量
        var a;
        a=100;
        console.log(a);
				//声明并赋值
				var b=210;
				console.log(b);
    </script>
</head>
<body>

</body>
</html>

标识符

  • 在JS中所有的可以由我们自主命名的都可以称为是标识符

  • 例如:变量名、函数名、属性名都属于标识符

  • 命名一个标识符时需要遵守如下的规则

    1. 标识符中可以含有字母、数字、__、$ (其他的字符都不可以)

    2. 标识符不能以数字开头

    3. 标识符不能是ES中的关键字或保留字

    4. 标识符尽量采用驼峰命名法

转义字符

在字符串中我们可以使用 \ 作为转义字符,当表示一些特殊符号时可以使用 \ 进行转义

\' 表示 '
\" 表示 "
\n 换行
\t 制表符
\\ 表示\

检查文件类型

//可以使用一个运算符 typeof
//来检查一个变量的类型
//语法: typeof 变量
console. log(typeof a);

字符串

//输出字面量字符串str       
alert("str")
//输出变量str
alert(str)

Number

  • 在JS中所有的数值都是 Number类型,包括整数和浮点数(小数)
  • 如果使用 Number表示的数字超过了最大值,则会返回ー个Infinity表示正无穷
  • NaN是一个特殊的数字,表示 Not A Number
  • 如果使用JS进行浮点运算,可能得到一个不精确的结果:所以千万不要使用JS进行对精确度要求比较高的运算
 console.log(Number.MAX_VALUE); //输出能显示的最大数值

Null和 Undefined

  • Null(空值)类型的值只有一个,就是null

  • Null这个值专门用来表示一个为空的对象

  • 使用typeof检查一个null值时,会返回object

  • Undefined(未定义)类型的值只有一个,就undefind

  • 当声明一个变量,但是并不给变量赋值时,它的值就是undefined

  • 使用typeof检查一个undefined时也会返回undefined

强制类型转换

转字符串

方式一:

  • 调用被转换数据类型的tostring()方法
  • 该方法不会影响到原变量,它会将转换的结果返回

方法二:

  • 使用String();
  • 使用String()函数做强制类型转换时,
    对于Number和Boolean实际上就是调用的toString()方法
    但是对于null和undefined,就不会调用toString()方法
    它会将null直接转换为"null"
    将undefined直接转换为"undefined"
/*方法一:
调用a的tostring()方法
调用xxx的yyy()方法,就是xxx.yyy()
*/
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <script type="text/javascript">
        var a=123;
        /*var b=a.toString();
        console.log(typeof a);//return number
        console.log(typeof b);//return string
				*/
				a=String(a);//注意S要大写
    </script>
</head>
<body>

</body>
</html>

转Number

方式一:

  • 使用Number() 函数 N要大写

  • 字符串一>数字

    1. 如果是纯数字的字符串,则直接将其转换为数字
    2. 如果字符串中有非数字的内容,则转换为NaN
    3. 如果字符串是一个空串或者是一个全是空格的字符串,则转换为0
  • 布尔一>数字

    1. true转成1
    2. fa1se转成0
  • Null 一>数字为0

  • Undefined一>数字为NaN

方式二:

  • parseInt可以将一个字符串中的有效的整数内容去出来,然后转换为Number
  • ParseFloat作用和parseInt类似,不同的是它可以获得有效的小数
  • 如果对非String使用parseInt()或parseFloat()它会先将其转换为String,然后操作

其他进制的数字

  1. 表示16进制的数字,则需要以0X开头(x大写小写都可以)

  2. 表示8进制的数字,则需要以0开头

  3. 表示8进制的数字,则需要以0b开头(b大写小写都可以,不是所有浏览器都支持)

  • 像a=“070”用parseInt后有的浏览器会解析成八进制,有的会输出70,这个时候使用parseInt(a,10)表示10进制解析字符串a

  • 调用Boolean()函数将其他类型转为布尔值

    1. 数字返回除了0和NaN,其余都是true
    2. 字符串返回除了空字符串,其余都是true
  • null和undefined都是false

  • 对象会转化为true

  • 注意其输出结果是十进制形式

运算符

  • typeof他将该值的类型以字符串的形式返回(number、string、boolean、undefined、objected)

  • +、-、*、/、%(当对非number类型进行计算时,先转换为number再进行运算,true=1,false=0,null=0,任何值和NaN运算结果都为NaN,如果对两个字符串进行拼接并返回)

  • 加法:任何数值和字符串进行基本运算,现将数值转换成字符串,然后进行拼接

  • 其余的都是将,字符串变成数值再减(利用此性质可以让string-0变成number)

var a=123;
a=a+"";
console.log(typeof a);
console.log("a = "+a);//输出"a=123"

result = 1+2+"3" //输出“33”
result = "1"+2+3 //输出“123”


var a=100;
a=a-'2'
console.log(a); //输出98
  • 对于非Number类型的值

    • 它会将先转换为Number,然后再运算
    • 可以对一个其他的数据类型使用+,来将其转换为number
    • 它的原理和Number()函数一样
  • 逻辑运算符

    • 与 &&
    • 或 ||
    • 非 !
var a="hello";
a=!!a; 					//output true

//&& 有短路性质 当第一个为false时 后面的被短路

自增自减

a++;		//这里和C语言一样
++a;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

太阳城S

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值