当前位置: 首页 > news >正文

JavaWeb03——javascript基础语法

1.什么是JavaScript?

        JavaScript(简称 JS)是一种 编程语言,它主要用来为网页添加交互功能。它可以让网页变得动态,让它不仅仅是静态的文字和图片,还能响应用户操作(比如点击按钮、弹框警告等)。

2.JS如何引入/在哪里写?

A.内部脚本:将JS代码定义在html内部

        1.js代码必须在标签 <script></script>之间

        2.<script></script>标签可以出现在html文档的任意地方,任意次出现,但是一般会放在<body>底部

B.外部脚本:将JS代码单独写在一个.js文件中,通过<script>标签引入html

        1.外部JS代码中,只含JS代码,不含<script>标签

        2.<script>不可以自闭和,使用src属性将外部js文件引入。

3.JS基础语法

3.1 书写语法

        a.区分大小写

        b.分号可有可无

        c.注释写法:// 或  /**/

3.2 输出语句

        1.将数据写入警告框,浏览器弹出 

                 window.alert("xxx");   或   alert("xxx");

        2.写入html页面,浏览器展示出来

                        document.write("xxx")

        3.浏览器控制台输出

                        console.log("xxx")

3.3 变量 与 数据类型

A.数据类型

JS的数据类型可分为 原始类型 引用类型,其中原始类型包括:

        a.number:数字类型,包括整数、浮点数、NAN

        b.string:字符类型

        c.boolean:布尔类型

        d.null:空类型

        e.undefined:未初始化默认类型

B.变量

//虽然js的数据有这么多类型,但是其是弱语言类,在定义的时候不做类型区分,如果你想查看具体是啥类型,可以用函数 typeof(变量)查看具体类型

1.变量的定义:

        1.全局有效,可重复定义的写法:

            var a="你好";var a=10;
//可以重复写,类型可以不一样,因为定义的时候不区分具体类型,就是一个关键字var,如果后面不改a的值,a自始至终存在,且为10

        2.仅在本个代码块中有效,不允许重复定义

{let b=8;//let b=true;再重复写就会报错
}//alert(b)也会报错,因为b只在本方法体中有效

        3.用来声明只读变量,一旦声明后就不允许再改了,全局有效

            const pi=3.14

2.变量命名

        可以由字母、数字、下划线_、美元符号$组成,但是数字不可以开头

3.4 运算符

运算符基本同java,但是有一个要注意,即“==”和“===”

“==”:在比较A和B之前,会自动将A和B转换为同一类型,再比较值

“===”:直接比较,类型不同直接pass

3.5 类型转换

string类型转成number类型:

        1.数字字符直接转数字:“123”==>123

        2.非数字类型转 NAN:“anxj”==>NAN

其他类型转boolean类型:

        转成false的有:0,NAN,空字符,null类型所有,undefined所有

        除了上述全是true

4.JS函数写法

1.函数的关键字:function

2.写法:

   写法一:

function 方法名 (形参列表){方法体
}

注意:不用定义返回值类型不用var,方法体中需要就写return,不需要就不写

    写法二:

var 方法名= function(形参列表){方法体}

3.调用写法

        var c=方法名(实参列表) 或者 方法名(实参列表)

//实参可以传任意个数,但是形参只要它需要的前几个

http://www.xdnf.cn/news/1265095.html

相关文章:

  • 微信小程序功能 表单密码强度验证
  • 从浅拷贝到深拷贝:C++赋值运算符重载的核心技术
  • v-model双向绑定指令
  • Selenium + Python + Pytest + Yaml + POM
  • Linux网络--2、Socket编程
  • 自由学习记录(79)
  • Pytest项目_day08(setup、teardown前置后置操作)
  • NY128NY133美光固态闪存NY139NY143
  • No time to train! Training-Free Reference-Based Instance Segmentation之论文阅读
  • 笔试——Day32
  • 【ros-humble】2.自定义通讯接口发布者python,qt使用(话题)
  • 使用 ast-grep 精准匹配指定类的方法调用(以 Java 为例)
  • V4L2摄像头采集 + WiFi实时传输实战全流程
  • 汇编语言和高级语言的差异
  • 【从0到1制作一块STM32开发板】6. PCB布线--信号部分
  • 【ESP32-menuconfig(1) -- Build Type及Bootloader config】
  • FreeRTOS入门知识(初识RTOS)(一)
  • WinForm 实战 (进度条):用 ProgressBar+Timer 打造动态进度展示功能
  • BBH详解:面向大模型的高阶推理评估基准与数据集分析
  • TyDi QA:面向语言类型多样性的信息检索问答基准
  • 柠檬笔试——野猪骑士
  • Python的七大框架对比分析
  • 若依前后端分离版学习笔记(七)—— Mybatis,分页,数据源的配置及使用
  • Day01 项目概述,环境搭建
  • 【代码随想录day 14】 力扣 104.二叉树的最大深度
  • 【Nginx基础①】 | VS Code Remote SSH 环境下的静态资源与反向代理配置实践
  • 防御保护09
  • 【Unity3D实例-功能-跳跃】角色跳跃
  • 文件结构树的├、└、─ 符号
  • 机器学习及其KNN算法