JavaScript核心

今天我们首先就来说一下为什么要学习JavaScript,JavaScript主要功能是什么

  1. 嵌入动态文本于HTML页面。
  2. 对浏览器事件做出响应。读写HTML元素。
  3. 在数据被提交到服务器之前验证数据。
  4. 检测访客的浏览器信息。
  5. 控制cookies,包括创建和修改等。基于Node.js技术进行服务器端编程。

JavaScript是一种属于网络的高级脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。
既然我们已经大致了解了JavaScript我们就来仔细的刨析一下,它由三个部分组成

  1. ECMAScript,描述了该语言的语法和基本对象。
  2. 文档对象模型(DOM),描述处理网页内容的方法和接口。
  3. 浏览器对象模型(BOM),描述与浏览器进行交互的方法和接口。

它主要有三种写法:

<head>
<meta charset="UTF-8">
<meta name="viewport"content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title>
<!--2.js外部写法-->  
</head> <script src="./js外部.js"></script> 
//外部样式:写在JS文件中,使用script的src属性导入 
<body>
<!-- 1.行内写法 --> 
<button onclick="alert('01-行内写法')">我是按钮</button> 
//行内写法: 不推荐不便于维护 
4
<script> <!--2-内部写法 --> 
alert('02-我是js内部写法') 
// 内部写法:写在script标签中,如果界面JS代码较少可以使用 
/script> 复杂的话不推荐 
</body> </html> 细节点: 当一个html文件存在多种写法时, 
<!--js三种书写位置(与css一致) 是自上而下解析的。 
1.行内写法 :写在标签行内 script标签没有src属性表示内联样式, 
2.内部写法 :写在script标签内部 script标签有src属性表示外联样式. 
3.外部写法:写在js外部文件中,使用script标签的src属性导入 外联样式的JS代码只能写在js文件中。 
*注意:如果script标签写了src属性,就表示外部写法。此时内部的js代码不会执行。

我们来说一下它的输出语句和输入语句

输出语句
接下来我们说js在网页输出语句,先上几个简单的示例:
示例1

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        //输出语句1:在网页弹出一个提示框,输出数据,通常用于提示用户
        alert('hello world');
    </script>
</body>
</html>

在这里插入图片描述
示例2:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        //输出语句2:在控制台打印某个数据。(这个写法不是给用户看的,而是给程序员自己看的)
        console.log('生活的意义就是为了活着');
    </script>
</body>
</html>

在这里插入图片描述
示例3:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        //输出语句3:将数据显示到网页,相当于给body添加内容
        document.write('生活不易,仍需努力');
    </script>
</body>
</html>

在这里插入图片描述
输入语句
接下来我们对输入语句也做一个简单的示例:
示例1:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        //输入语句
        //输入语句1:在网页弹出一个输入框,让用户输入数据
        prompt('你今天快乐吗?');
    </script>
</body>
</html>

在这里插入图片描述
示例2:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        //输入语句
        //输入语句2:在网页弹出一个确认框,让用户输入确认/取消
        confirm('你是学生吗?')
    </script>
</body>
</html>

在这里插入图片描述

说完了输出语句和输入语句接下来那就是它的数据类型:

每一种编程语言都有自己的语法规则,在处理数据的时候,也会有自己的规则,不是任何数据都可以处理的。JS编译器在解析代码的时候,会产生各种不同的数据。 而不同的数据'运算'与'存储'方式都不同, 计算机需要对这些数据进行分类,称之为数据类型。

如图示
在这里插入图片描述
JavaScript类型和存储位置
·js中有5种基本类型:Undefined、Null、Boolean、Number和Strin g,基本类型在内存中占据空间小、大小固定,他们的值保存在栈(stack)空间。
引用类型(对象、数组、函数),引用类型占据空间大、大小不固定,栈内存中存放地址指向堆(heap)内存中的对象
然后我们来说一下检查数据类型的方法:
检查数据类型的方法:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
        <script>
        //(1)typeof 数据(2)typeof(数据)
        //语法结果:得到一个字符串来告讲你这个数据是什么类型。 
        console.log( typeof 123 )//'number' 
        console.log( typeof '123' )//'string' 
        console.log( typeof true )//'boolean'        
        console.log( typeof undefined )//'undefined'.
        console.log( typeof null )//'object'
        </script>
</body>
</html>

数据类型转换-转化为布尔类型

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // //Boolean(数据)
        // 1.false: 有7种数据会得到false 0  -0 NaN '' undefined null false 
        // 2.true:除false 7种之外的一切数据
        console.log(Boolean(0))//false 
        console.log(Boolean(-0))//false
         console.log(Boolean(NaN))//false
         console.log(Boolean(''))//false
        console.log(Boolean(undefined))//false
         console.log(Boolean(null))//false
          console.log(Boolean(false))//false
        </script>
</body>
</html>

隐式转换

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
        <script>
        // /*
        // 隐式转换:当运算符两边的'数据类型不一致’的时候,编译器会转成一致后运算
        // (1)转换数字:算术运算符+-*/%
        // (2)转换字符串:连接符+(+号两边只要有一边是字符串,此时+就是连接符)(3)转换布尔:逻辑非!
        // //1.转换数字:算术运算符
        console.log('100'-10 )//90 Number(100')-10 
        console.log(1+true)//2 1+Number(tnue) 
        console.log(+'10')//10 +数学正号 Number(10)
        
        // 穿12.转换字符串 :连接符
        console.log( '1' + true )//'1true’'1' + String('true')
        //3.转换布尔:!
        console.log(!1)//false    !Boolean(1)
        console.log(!undefined )//true !Boolean(undefined) 
        </script>
        </body>
</html>

Number-特殊值

  1. Infinity:正无穷大。-Infinity:负无穷大。

  2. Infinity依然是一个数字,我们可以在控制台用typeof来测试。当我们输入1e308时,一切正常,但一旦把后面的308改成309就出界了。实践证明,JavaScript所能处理的最大值是1.7976931348623157e+308,而最小值为5e-324。

  3. 由于内存的限制,number有最大值和最小值,其中最大值保存在Number.MAX_VALUE中,最小值保存在Number.MIN_VALUE中。
    在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值