javaScript详解

目录

JavaScript引入方式

内部脚本:将 JS代码定义在HTML页面中

外部脚本:将 JS代码定义在外部js文件中,然后引入html页面中

书写语法

输出语句 

变量

var关键字

let关键字 

const关键字

数据类型 

运算符

类型转换

其他类型转换为number

其他类型转换为boolean

流程控制语句

函数


我们先来了解一下javascript

JavaScript是一门编程语言,它用于在网页上添加交互和动态效果。它是一种脚本语言,意味着它可以直接在网页上运行,而不需要编译。

JavaScript最初是为了处理网页上的简单任务而创建的,如验证表单输入。然而,随着技术的发展,JavaScript的能力逐渐增强,现在可以用来创建复杂的应用程序,如网页游戏、数据可视化和动态网页。

JavaScript可以直接嵌入在HTML文档中,通过<script>标签来引入。它也可以在外部文件中编写,并通过<script src="filename.js"></script>标签引用。

JavaScript具有广泛的语法和功能,包括变量、函数、条件语句、循环语句等。它还具有许多内置的对象和方法,用于处理字符串、数组、日期、正则表达式等。

JavaScript还支持事件驱动编程,通过监听用户的动作(如点击、鼠标移动等),来触发相应的代码执行。

JavaScript在现代Web开发中扮演着重要的角色,它与HTML和CSS一起构成了前端开发的基础。它可以与服务器端语言(如PHP、Python等)结合使用,实现与后端的数据交互和处理。它也可以用于开发桌面应用程序、移动应用程序和服务器端应用程序。

JavaScript引入方式

内部脚本:将 JS代码定义在HTML页面中

在HTML中,JavaScript代码必须位于<script>与</script>标签之间

<script>

        alert("hello Js ~");

</script>

提示:

  • 在 HTML 文档中可以在任意地方,放置任意数量的<script>
  • 一般把脚本置于<body>元素的底部,可改善显示速度,因为脚本执行会拖慢显示 
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>


</head>
<body>

<script>
  alert("hello js");
</script>
</body>
</html>

 这样就会弹出一个警告框👇

我将script标签放到最下面也是可以的

外部脚本:将 JS代码定义在外部js文件中,然后引入html页面中

外部文件:demo.js

alert("hello JS")

引入js文件

 <script src="../js/demo.js"></script>

注意:

  • 外部脚本不能包含<script>标签
  • <script>标签不能自闭合 

要实现外部脚本,先在外部写个js文件,存放js代码

alert("hello js");

再在html里用script标签引入js文件

然后就像下图所示了 

书写语法

区分大小写:与Java一样,变量名、函数名以及其他一切东西都是区分大小写的

每行结尾的分号可有可无

注释:

  • 单行注释://注释内容
  • 多行注释:/*注释内容 */

大括号表示代码块

输出语句 

使用 window.alert()写入警告框

使用 document.write()写入HTML输出

使用 console.log()写入浏览器控制台

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<script>
  window.alert("hello js");
  document.write("hello js1");
  console.log("hello js2");
</script>
</body>
</html>

浏览器上显示的是这样的 👇

 

点击确定后

在哪里看console.log()生成的呢,F12打开浏览器的开发者工具

变量

JavaScript 中用var关键字(variable 的缩写)来声明变量 

👇可以看到20被显示出来了

JavaScript 是一门弱类型语言,变量可以存放不同类型的值


变量名需要遵循如下规则:

  • 组成字符可以是任何字母、数字、下划线(_)或美元符号($)
  • 数字不能开头
  • 建议使用驼峰命名

var关键字

作用域:全局变量

变量可以重复定义


let关键字 

 ECMAScript6新增了 let 关键字来定义变量。它的用法类似于 var,但是所声明的变量,只在 let 关键字所在的代码块内有效,且不允许重复声明。

这样运行出来是什么都没有的

说明了声明的变量只在 let 关键字所在的代码块内有效

控制台中显示a未被定义


不允许重复声明

可以看到重复定义就报错了

const关键字

 ECMAScript6新增了 const关键字,用来声明一个只读的常量。一旦声明,常量的值就不能改变 。

数据类型 

javaScript 中分为:原始类型和引用类型

5种原始类型:

  • number:数字(整数、小数、NaN(NotaNumber))
  • string:字符、字符串,单双引皆可
  • boolean:布尔。true,false
  • null:对象为空
  • undefined:当声明的变量未初始化时,该变量的默认值是 undefined

使用 typeof运算符可以获取数据类型

alert(typeof 数据);  


 

弹出来的都是number


  

弹出来的都是String


 

弹出来的都是boolean


这个弹出来的不应该是null吗?怎么返回的是object

可以看一下这个的解释


未赋值的弹出来的是undefined

运算符

一元运算符:++,--
算术运算符:+,-,*,/,%
赋值运算符:=,+=,-=..
关系运算符:>,<,>=,<=,!=,==,===...
逻辑运算符:&&,||,!
三元运算符:条件表达式?true_value:false_value 


==

判断类型是否一样,如果不一样,则进行类型转换再去比较其值


===(全等于)

判断类型是否一样,如果不一样,直接返回false再去比较其值


类型转换

其他类型转换为number

  •  string:按照字符串的字面值,转为数字

        

这个地方的20就是字面值

如果字面值不是数字,则转为NaN

一般使用parseInt()转为数字

  • boolean

true 转为1,false转为0 


其他类型转换为boolean

  • number:0和NaN转为false,其他的数字转为true

  • String:空字符串转为false,其他的字符串转为true 

 

 

 

  • null:false

  • undefined:false 

流程控制语句

在JavaScript中,有几种流程控制语句,用于控制程序的执行流程。下面是其中一些常用的流程控制语句:

  1. 条件语句(if语句):用于根据条件判断来选择执行的代码块。
if (condition) {
  // 代码块1
} else if (condition) {
  // 代码块2
} else {
  // 代码块3
}

  1. 循环语句(for循环):用于重复执行一段代码,直到满足退出条件。
for (var i = 0; i < 10; i++) {
  // 代码块
}

  1. 循环语句(while循环):在满足指定条件的情况下,重复执行一段代码。
while (condition) {
  // 代码块
}

  1. 循环语句(do-while循环):至少执行一次代码块,然后在满足指定条件的情况下重复执行。
do {
  // 代码块
} while (condition);

  1. switch语句:基于不同的条件值,选择执行相应的代码块。
switch (expression) {
  case value1:
    // 代码块1
    break;
  case value2:
    // 代码块2
    break;
  default:
    // 代码块3
    break;
}

这些流程控制语句可以帮助你根据需要控制JavaScript程序的执行流程和逻辑。

函数

定义:JavaScript 函数通过 function关键词进行定义

function functionName(参数1,参数2,...){

        要执行的代码;

}

注意:

形式参数不需要类型。因为JavaScript是弱类型语言

返回值也不需要定义类型,可以在函数内部直接使用return返回即可

定义方式二

var functionName=function(参数列表){

        要执行的代码;

}

 

调用:JS中,函数调用可以传递任意个数参数

弹出来的结果还是3

再看一个

这个的结果又会是什么呢

1传进去是a的值,b没有值传进去所以是NaN,那a+b不还是NaN


好啦,这一期就到这里啦,继续加油!!!

  • 56
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

努力敲代码的小火龙

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

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

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

打赏作者

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

抵扣说明:

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

余额充值