day14 JS基础1

目录

一、JavaScript 介绍

1. JavaScript是什么

2、JavaScript 书写位置

3、JavaScript 注释

4、JavaScript 结束符

5、JavaScript 输入输出语法

二、变量

1、变量是什么?

2、变量的基本使用

3、变量的本质

4、变量命名规则与规范

5、let和var的区别

6、数组

 三、数据类型

1、基本数据类型

2、引用数据类型

四、类型转换

1、为什么需要类型转换?

2、隐式转换

3、显式转换


一、JavaScript 介绍

1. JavaScript是什么

(1)JavaScript(是什么?)

        是一种运行在客户端(浏览器)的编程语言,实现人机交互效果。

(2) 作用(做什么?)

  • 网页特效(监听用户的一些行为让网页作出对应的反馈)
  • 表单验证(针对表单数据的合法性进行判断)
  • 数据交互(获取后台的数据, 渲染到前端)
  • 服务端编程(node.js)

(3) JavaScript的组成(有什么?)

ECMAScript:规定了js基础语法核心知识。

  • 比如:变量、分支语句、循环语句、对象等等

Web APIs :

  • DOM操作文档,比如对页面元素进行移动、大小、添加删除等操作
  • BOM操作浏览器,比如页面弹窗,检测窗口宽度、存储数据到浏览器等等

权威网站:MDN

 

2、JavaScript 书写位置

(1)、 内部JavaScript

  • 直接写在html文件里,用script标签包住
  • 规范:script标签写在</body>上面
  • 拓展:alert(‘你好,js’)页面弹出警告对话框

注意:

        我们将<script> 放在HTML文件的底部附近的原因是浏览器会按照代码在文件中的顺序加载HTML。如果先加载的JavaScript 期望修改其下方的HTML,那么它可能由于HTML 尚未被加载而失效。因此,将JavaScript 代码放在HTML页面的底部附近通常是最好的策略。

(2)外部JavaScript

  • 代码写在以.js结尾的文件里
  • 语法:通过script标签,引入到html页面中。

 注意:

  • script标签中间无需写代码,否则会被忽略!
  • 外部JavaScript会使代码更加有序,更易于复用,且没有了脚本的混合,HTML 也会更加易读,因此这是个好的习惯。

(3)内联JavaScript

  • 代码写在标签内部

 注意:

  • 此处作为了解即可,但是后面vue框架会用这种模式

3、JavaScript 注释

(1)单行注释

  • 符号://
  • 作用://右边这一行的代码会被忽略
  • 快捷键:ctrl + /

(2)块注释

  • 符号:/**/
  • 作用:在/* 和*/ 之间的所有内容都会被忽略
  • 快捷键:shift + alt + A

4、JavaScript 结束符

(1)结束符

  • 代表语句结束
  • 英文分号;
  • 可写可不写(现在不写结束符的程序员越来越多)
  • 换行符(回车)会被识别成结束符,所以一个完整的语句,不要手动换行
  • 因此在实际开发中有许多人主张书写JavaScript 代码时省略结束符但为了风格统一,要写结束符就每句都写,要么每句都不写(按照团队要求.)

 

5、JavaScript 输入输出语法

(1)什么是语法:

  • 人和计算机打交道的规则约定
  • 我们要按照这个规则去写比如:你吃了吗?
  • 我们程序员需要操控计算机,需要计算机能看懂

        输出和输入也可理解为人和计算机的交互,用户通过键盘、鼠标等向计算机输入信息,计算机处理后再展示结果给用户,这便是一次输入和输出的过程。

(2)输出语法

   <script>
    // 向body输出内容,如果输出内容写的是标签,也会被解析成网页元素
    document.write('要输出的内容')
    // 页面弹出警告对话框
    alert('要输出内容')
    // 控制台输出语法,一般为程序员调试使用
    console.log('控制台打印')
   </script>

 (3)输入语法

   <script>
    // 显示一个对话框,对话框中包含一条文字信息,用来提示用户输入文字
    prompt('请输入您的姓名')
   </script>

二、变量

1、变量是什么?

  • 变量就是计算机存储数据的“容器”
  • 白话:变量就是一个装东西的盒子。
  • 通俗:变量是计算机中用来存储数据的“容器”,它可以让计算机变得有记忆。

注意:

  • 变量不是数据本身,它们仅仅是一个用于存储数值的容器。可以理解为是一个个用来装东西的纸箱子。

2、变量的基本使用

(1)声明变量:

要想使用变量,首先需要创建变量(专业说法:声明变量)

语法:

  • let 变量名
  • 声明变量有两部分构成:声明关键字、变量名(标识)
  • let 即关键字(let: 允许、许可、让、要),所谓关键字是系统提供的专门用来声明(定义)变量的词语

例:

  • let age  (age 即变量的名称,也叫标识符)

(2)变量赋值:

   定义了一个变量后,你就能够初始化它(赋值)。在变量名之后跟上一个“=”,然后是数值。

例:

 <script>
    // 首先创建变量age
    let age;
    // 再通过=符号给age赋值
    age = 18;
    // 输出age的值
    document.write(age);
   </script>

也可以声明变量的时候同时给变量初始化。

   <script>
        let age = 18;
   </script>

(3) 更新变量:

  • 变量赋值后,还可以通过简单地给它一个不同的值来更新它。
 <script>
    // 声明了一个age变量,同时里面存放了18这个数据
    let age = 18;
    // 更新变量,重新将age的值更改为19
    age =19;
    // 页面输出的结果为19
    document.write(age);
   </script>

注意:let 不允许多次声明一个变量。

(4)声明多个变量:

  • 变量赋值后,还可以通过简单地给它一个不同的值来更新它。

 3、变量的本质

  • 内存:计算机中存储数据的地方,相当于一个空间
  • 变量:是程序在内存中申请的一块用来存放数据的小空间

 4、变量命名规则与规范

  • 规则:必须遵守,不遵守报错
  • 规范:建议,不遵守不会报错,但不符合业内通识

(1)规则:

  • 不能用关键字(关键字:有特殊含义的字符,JavaScript 内置的一些英语词汇。例如:let、var、if、for等)
  • 只能用下划线、字母、数字、$组成,且数字不能开头
  • 字母严格区分大小写,如Age 和age 是不同的变量

(2)规范:

  • 起名要有意义
  • 遵守小驼峰命名法(第一个单词首字母小写,后面每个单词首字母大写。例:userName)

5、let和var的区别

let 为了解决var的一些问题

var声明:

  • 可以先使用在声明(不合理)
  • var声明过的变量可以重复声明(不合理)
  • 比如变量提升、全局变量、没有块级作用域等等

结论:以后声明变量我们统一使用let

6、数组

  • 数组(Array)是一种可以按顺序保存多个数据

(1)声明语法

例:

  •  数组是按顺序保存,所以每个数据都有自己的编号
  • 计算机中的编号从0开始,所以小明的编号为0,小刚编号为1,以此类推
  • 在数组中,数据的编号也叫索引或下标
  • 数组可以存储任意类型的数据

(2)取值语法

 例:

  •  通过下标取数据
  • 取出来是什么类型的,就根据这种类型特点来访问

(3)数组的一些专业术语

  • 元素:数组中保存的每个数据都叫数组元素
  • 下标:数组中数据的编号
  • 长度:数组中数据的个数,通过数组的length属性获得

 三、数据类型

JS 数据类型整体分为两大类:

  • 基本数据类型
  • 引用数据类型

1、基本数据类型

  • number 数字型
  • string 字符串型
  • boolean布尔型
  • undefined 未定义型
  • null空类型

(1)数字类型(number)

  • 即我们数学中学习到的数字,可以是整数、小数、正数、负数。

 JavaScript 中的正数、负数、小数等统一称为数字类型。

注意:

  • JS 是弱数据类型,变量到底属于那种类型,只有赋值之后,我们才能确认
  • Java是强数据类型例如inta = 3必须是整数

(2)字符串类型(string)

  • 通过单引号('')、双引号("")或反引号( ` )包裹的数据都叫字符串,单引号和双引号没有本质上的区别,推荐使用单引号。

 注意事项:

  • 无论单引号或是双引号必须成对使用
  • 单引号/双引号可以互相嵌套,但是不以自已嵌套自已(口诀:外双内单,或者外单内双)
  • 必要时可以使用转义符\,输出单引号或双引号

字符串拼接:

模板字符串 :

1.作用

  • 拼接字符串和变量
  • 在没有它之前,要拼接变量比较麻烦

2.符号

  • ``
  • 在英文输入模式下按键盘的tab键上方那个键(1左边那个键)
  • 内容拼接变量时,用${} 包住变量

(3)布尔类型(boolean)

  • 表示肯定或否定时在计算机中对应的是布尔类型数据。
  • 它有两个固定的值true 和false,表示肯定的数据用true(真),表示否定的数据用false(假)。

(4)未定义类型(undefined)

  • 未定义是比较特殊的类型,只有一个值undefined。
  • 什么情况出现未定义类型?只声明变量,不赋值的情况下,变量的默认值为undefined,一般很少【直接】为某个变量赋值为undefined。

工作中的使用场景:

  • 我们开发中经常声明一个变量,等待传送过来的数据。如果我们不知道这个数据是否传递过来,此时我们可以通过检测这个变量是不是undefined,就判断用户是否有数据传递过来。

(5)null(空类型)

  • null 表示值为空

 null 和undefined 区别:

  • undefined 表示没有赋值
  • null 表示赋值了,但是内容为空null

开发中的使用场景:

  • 官方解释:把null 作为尚未创建的对象
  • 大白话:将来有个变量里面存放的是一个对象,但是对象还没创建好,可以先给个null

 (6)控制台输出语句和检测数据类型

  • 通过typeof关键字检测数据类型

2、引用数据类型

  • object 对象
  • function函数
  • array 数组

四、类型转换

1、为什么需要类型转换?

  • JavaScript是弱数据类型:JavaScript也不知道变量到底属于那种数据类型,只有赋值了才清楚。
  • 坑:使用表单、prompt 获取过来的数据默认是字符串类型的,此时就不能直接简单的进行加法运算。

 此时需要转换变量的数据类型。

通俗来说,就是把一种数据类型的变量转换成我们需要的数据类型。

2、隐式转换

某些运算符被执行时,系统内部自动将数据类型进行转换,这种转换称为隐式转换。

规则:

  • + 号两边只要有一个是字符串,都会把另外一个转成字符串
  • 除了+以外的算术运算符比如-*/等都会把数据转成数字类型

缺点:

  • 转换类型不明确,靠经验才能总结

小技巧:

  • +号作为正号解析可以转换成Number

3、显式转换

编写程序时过度依靠系统内部的隐式转换是不严禁的,因为隐式转换规律并不清晰,大多是靠经验总结的规律。为了避免因隐式转换带来的问题,通常根逻辑需要对数据进行显示转换。

概念:

自己写代码告诉系统该转成什么类型

(1)转换为数字型:

  • Number(数据)
  • parseInt(数据)     
  • parseFloat(数据)

(2)转换为字符型:

  • String(数据)
  • 变量.toString(进制)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值