JS入门到精通

1.JS简介

java的脚本语言
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.JS输出语言

JS的的代码写到script标签中(在head里面)

alert(" ");

控制浏览器弹出一个警告框

document.write(" ");

让计算机在页面中输出一个内容 ,可以向body中输出内容

console(控制台).log(" ");

向控制台输出一个内容

3.JS编写位置

1.可以将js代码编写到标签的onclick属性中,当点击按钮时,js代码才会执行.
2.可以将js代码写在超链接的href属性中,这样当点击超链接时,会执行js代码.
注:虽然可以写在标签的属性中(像a标签那样),但属于行为与结构耦合,不方便维护,不推荐使用。
3.可以将js代码写在script标签里.
4.可以将js代码编写到外部js文件中,然后通过script标签引入,在src里面。
写到外部文件中可以在不同的页面中同时使用,也可以利用到浏览器的缓存机制。(推荐使用的方式)
注:script标签一旦用于引入外部文件了,标签里面就不能再编写代码了,即使编写了 浏览器也会忽略,如果需要,可以在下面重新创建一个新的script标签用于编写内部代码。

1.<button onclick="alert('哈哈哈哈,想不到吧');">点击</button>
2.<a href="javascript:alert('让你点你就点?')">再点击这个</a>
3.<script type="text/javascript"> alert("script里的代码");    </script>
4.<script type="text/javascript" src="./js"> </script> 
 <script type="text/javascript">alert("内部的JS代码,重新写的");</script>    

4.JS基本语法

严格区分大小写

5.字面量和变量

1.字面量:都是一些不可改变的值(比如:1 2 3 4 alert(1234871);),都可以直接使用,但一般不会直接使用。
变量:可以用来保存自变量,且值可以任意改变 ,更方便使用。
可以通过变量对字面量描述(如age)
2.声明变量
在js中使用var 关键字来声明一个变量。

var a;
a=123;
console.log(a);

3.声明和赋值同时进行

var a=123;

6.标识符

JS中所有可以由我们自主命名的都可以称为是标识符
例如:变量名、函数名、属性名

命名一个标识符时需要遵守如下规则:
1.标识符中可以还有字母、数字、_、$
2.不能以数字开头
3.标识符不能是JS中的关键字或保留字
4.标识符一般都采用驼峰命名法:首字母小写,每个单词的开头字母大写,其余字母小写 xxxYyyZzz。例:helloWorld
在这里插入图片描述
在这里插入图片描述
JS底层保存标识符实际上是采用Unicode编码(utf-8),所以理论上所有utf-8中含有的内容都可以作为标识符。(可以用中文名,但最好别用)

7.数据类型

数据类型指的就是字面量的类型,在JS中一共有6中数据类型。
Objecct属于引用数据类型,其余的属于基本数据类型。

1.String 字符串

1.在JS中 字符串要用引号引起来,不加引号就是变量
双引号必须得在同一行。

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

var str ="hello";
 把hello字符串赋值给str这个变量,所以str就是一个字符串

2.使用双引号或单引号都行,但不要混着用
3.引号不能嵌套,双引号里面不能放双引号,单引号里面不能放单引号。
4.在字符串中,可以使用\作为转义字符,当表示一些特殊符号时 可以用\进行转义

str ="说句话:\"两个双引号一起用,可以这样来个转义 \" ";

\" 表示一个"
\' 表示一个’
\n :换行
\t :空一格 制表符(相当于TAB键)
\\:表示一个\

var只在声明变量的时候写(类似于设x),写第一次的就行。

相同变量名,变量值最下面的有效:
在这里插入图片描述

2.Number 数值

在JS中所有的数值都是number类型,包括整数和浮点数(小数)。
可以使用一个运算符 typeof 来检查一个变量的类型
语法:typeof 变量

数字123var a=123
字符串123var b ="123"

在这里插入图片描述
检查数值时,会返回number
  使用typeof检查Infinity也会返回number
检查字符串时,会返回string

  a=Number.MAX_VALUE*Number.MAX_VALUE
      
        console.Log(Number.MAX_VALUE);
       
      最大值:  console.Log(Number.MAX_VALUE*Number.MAX_VALUE);
        也可以直接写 a=Infinity;
      最小值;             -Number.MAX_VALUE*Number.MAX_VALUE
	  大于0的最小值:Number.MIN_VALUE   

在这里插入图片描述
 负无穷:-Infinity
NaN是一个特殊的数字,表示Not A Number
 使用typeof检查一个NaN也会返回number


在这里插入图片描述
在这里插入图片描述

3.Boolean 布尔值

在这里插入图片描述

4.Null 空值  5.Undefined 未定义

在这里插入图片描述

6.Object 对象

8.强制类型转换

在这里插入图片描述

1.将其他数据转换为string:

在这里插入图片描述

方式一:toString

在这里插入图片描述

在这里插入图片描述
也可以这样写:
在这里插入图片描述
在这里插入图片描述

方式二:调用string函数

调用string函数,并将被转换的数据作为参数传递给函数。
在这里插入图片描述
在这里插入图片描述

2.转换为Number

方式一:使用Number()函数
字符串→数字

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

布尔值→数字

ture转成1
false转成0

Null→数字0
undefined→数字NaN
<script>
        a="";  (空串)
        a=Number(a);   //调用Number()函数来将a转换为Number类型 -->

        console.log(typeof a);
        console.log(a);
    </script>

在这里插入图片描述

方式二:parseInt()和parseFloat()

专门对付字符串

parseInt():把一个字符串转换为一个整数
parseFloat():把一个字符串转换成一个浮点数
注:parseInt()可以将一个字符串中有效的整数内容取出来,然后转换为Number;
 parseFloat()作用和parseInt()类似,不同的是它还可以获得有效的小数。

如果对非String使用parseInt或parseFloat,它会先将其转换为String,然后再操作。

3.转换为Boolean

使用Boolean()函数
数字转布尔:除了0和NaN,其余的都是true。
字符串转布尔:除了空串,其余都是true。
null和undefined都会转换为false。
对象也会转换为true。

方式2:隐式类型转换
为任意数据类型做两次非运算,详见13 !

9.其他进制的数字

0x开头:16进制
0开头:8进制
0b开头:2进制(但不是所有浏览器都支持)
10进制:
070这种字符串,有些浏览器会当成8进制解析,有些会当成10进制解析。
在这里插入图片描述

10.算数运算符(也叫操作符)

通过运算符,可以对一个或多个值进行运算,并获取运算结果。
比如:typeof就是一个运算符,可以来获得一个值的类型。它会将该值的类型以字符串的形式返回

当对非Number类型的值进行运算时,会将这些值转换为Number然后再运算。
注:任何值和NaN做运算都得NaN.

在这里插入图片描述
算数运算符

+

在这里插入图片描述

  • 如果两个字符串相加,则会拼串。(将两个字符串拼接为一个新字符串并返回。)

  • 任何的值和字符串做加法运算,都会先转换为字符串,然后再和字符串做拼串的操作。可以利用这一特点,来将一个任意的数据类型转换为String 只需要为任意的数据类型+“”(空串) 。这是一种隐式的类型转换,由浏览器自动完成,实际上也是调用String函数

 c = c +"";
 c = String(c);

二者本质一样

还有一种写法:
var c=123;
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
结果123

任何值做- * /运算时,都会自动转换为Number

可以利用这一特点做隐式的类型转换,可以通过为一个值-0  *1  /1来将其转换为Number
原来和Number函数一样,用起来更简单

% 取模运算(取余数)

11.一元运算符

只需要一个操作数,例:typeof

+ 正号

不会对数字产生任何影响
在这里插入图片描述

-负号

对符号进行取反
在这里插入图片描述

  • 对于非Number类型的值,它会先转换为number然后再运算
    可以对一个其他的数据类型使用+,来将其转换为number,原理和number函数一样。
    在这里插入图片描述
    例:
    在这里插入图片描述

12.自增和自减

自增 ++

使变量在自身的基础上增加1
对于一个变量自增以后,原变量的值会立即自增1

  • 分两种:后++(a++)和前++(++a),都会使原变量的值自增1
    不同: a++的值等于原变量的值(自增前的值),++a等于原变量新值(自增后的值)
    a++; 使a自增1
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

自减

使变量在自身基础上减1。

  • 分两种:后–(a–)和前–(–a)
    在这里插入图片描述
    不同:a–是变量的原值(自减前的值),–a是新值

13.逻辑运算符

!非

对一个布尔值取反(对一个值取两次反,值就不变)
如果对非布尔值运算,会先将其转换为布尔值,然后再取反。可以利用该特点,(为任意一个数据类型取两次反)来将一个其他的数据类型转换为布尔值。

&& 与

对符号两侧的值进行与运算并返回结果
在这里插入图片描述
JS中的与属于短路的与
如果第一个值为false,不会检查第二个值。第一个值为true,会检查第二个值。

|| 或

在这里插入图片描述
JS中的或属于短路的或
如果第一个值为true,则不会检查第二个值。第一个值为false,会检查第二个值。

14.非布尔值的与或运算

会先将其转换为布尔值,然后再运算,并且返回原值
在这里插入图片描述

与运算:

如果两个值都为true,则返回后面的。(类似短路的)
如果两个值中有false,则返回靠前的false
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

或运算

在这里插入图片描述

15.逻辑运算符

在这里插入图片描述
减乘除取余同理。

16.关系运算符

比较两个值之间的大小关系。
关系成立返回true,不成立返回false。

  • 非数值的情况:将其转换为数字,再进行比较。
    任何值和NaN做任何比较都是false
    注:如果符号两侧都是字符串时,不会将其转换为数字进行比较,而会分别比较字符串中字符的Unicode编码
    比较字符编码时,是一位一位进行比较
    如果两位一样,则比较下一位,所以借用它来对英文排序
    在这里插入图片描述
    比较中文时这个表没有意义
    如果比较的两个字符串型的数字 ,可能会得到不可预期的结果。
    在这里插入图片描述

17.Unicode编码表

&#编码;
这里的编码需要十进制。

18.相等运算符

在这里插入图片描述

比较两个值是否相等,相等会返回true,否则返回true
使用== 来做相等运算
当使用==来比较两个值时,如果值的类型不同,则会自动进行类型转换,将其转换为相同的类型,然后再比。
undefined衍生自null,所以这两个值做相等判断时,会返回true
NaN不和任何值相等,包括它本身。
可以通过**isNaN()**函数来判断一个值是否是NaN,如果该值是则返回true
在这里插入图片描述

不相等**!=**则 返回true
在这里插入图片描述

19.条件运算符(三元运算符)

语法:
条件表达式? 语句1: 语句2;
在这里插入图片描述
在这里插入图片描述
获取a和b中的最大值
在这里插入图片描述
获取abc中的最大值
在这里插入图片描述
在这里插入图片描述
这种写法不推荐,不方便阅读
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值