html页面调用php常量,js中的常量变量以及html文档三种引入js的方式

js 是基于事件驱动的异步单线程的脚本编程语言,它的全称是 JavaScript,虽然里边有个 java 字样,但是和 java 编程语言一点关系都没有。它是一种脚本语言,基于解释器执行,它是边解释便执行的语言。浏览器控制台 Console 是一个浏览器内置的 JS 代码解释器。所以我们可以通过这个解释器来查看我们要展示的内容。调用语句为Console.log() 。

一、js 中的常量、变量和数据类型变量

声明 (let): 使用 let 声明一个变量,接下来的代码中不能再使用 let 对这个变量重复声明,但是这个变量在接下来的使用过程中,值可以重新更新。

例如:我们声明一个变量 name

let name; (此时我们可以在浏览器的 Console 中看到它)

console.log(name;)(此时我们可以看到的是它的默认值是 undefind)

3c08f44b3f79d5dfe319724f0573bd92.png

此时你在对 name 进行声明

let name;(再次声明)

可以看到的是,它会报错,说是已经声明

2020ad5589122c92f59998503f24f8b8.png

不过你可以对 name 进行赋值更新,这是被允许的。

name = ‘an’;

console.log(name);

2.常量

特殊的变量(只可以读取),常量声明后既不能删除,也不能更新,也不能二次声明。所以常量进行声明的话,必须进行初始化,而变量是可以将声明和初始化分开完成的。

声明常量所用到的是 const

例如:我们声明一个常量 age=18。

const age = 18;

这时候一个常量就声明完成了,此时你既不可以对它进行赋值更新,也不能二次声明。

const age = 20;

9c056c98474a26e49c38308306e0a328.png

可以看到的是,二次声明之后,它会进行报错,说是已经定义了

3.数据类型

3.1 原始类型(数值,字符串,布尔,undefined,null,Symbol)

3.1.1 数值

数值类型数据可以是整数,也可以是小数。

定义一个数值类型的数据

let age = 18;

3.1.2 字符串

定义一个字符串类型数据

let str = ‘haha’;

字符串类型的数据是可以拼接的,使用 ‘+’ 可以将两个字符串拼接起来,并且它和 python 中的不一样,python 中的拼接,必须是数据类型相同的,而 js 中则没有限制。它可以是数值和字符串的拼接。

3.1.3 布尔类型

布尔类型就只有 true 和 false 两个值

定义一个布尔类型的数据

let isOpen = true;

3.1.4 undefined 类型

undefined 类型是所有未初始化变量的默认值

例如说你定义一个变量,它并没有初始化,这时候,这个变量就是一个 undefined 类型的数据

3.1.5 null(空对象)

定义一个 null 型数据

let null_name = null;

3.1.6 符号(创建对象属性的唯一标识)

符号数据类型的创建是需要用到 Symbol()

let sym = Symbol()

原始类型的数据所采用的都是“值传递”,举个例子来说明。

let a = 100;

let b = a;

console.log(b);

此时在浏览器中可以看到的是 b = 100,

如果说将 a 的值改变,那么此时 b 的值会发生变化吗?我们来测验一下。

a = 200;

console.log(b);

在浏览器中查看 b 的值,可以看到的是,b 的值并没有发生变化,在对 b 进行赋值的时候,仅仅是将 a 的值传递给了它,所以当 a 的值发生变化时,b 的值并没有任何的变化。

3.2 引用类型(对象,数组,函数)

3.2.1 对象

对象有六种创建方式,这里只提一种:对象字面量,作为示例。

创建一个对象字面量

let people = {

// 创建一个对象的字面量的方式,和其他面向对象语言区创建一个类特相似

// 对象中的属性:无序的键值对

id: 1,

name: “an”,

old: 12,

“my email”: “js@email.com”,

// 对象中的方法:函数

getName(){

// this指当前对象,也就是类成员引用自身属性的时候的调用方式(当前上下文)

return"My name is:"+this.name;

},

};

对象访问的时候特别像实例化对象的访问方法

console.log(people.id);

// 当属性名是由 ''圈起来的时候,它的引用方式如下

console.log(people[“my email”]);

console.log(people.getName());

3.2.2 数组

js 中的数组和 python 中的列表一样,和 c 语言不一样,它并不是说只能存同一类型的数据,它可以同时存放不同类型的数据。

比如说,我要定义一个数组,它里边的数据既有数值,也有字符串。

let arr = [25, “an”, 66];

这样在 js 中定义一个数组是完全没有问题的。

js 中的数组类型的数据访问是使用索引从 0 开始的。

3.2.3 函数

函数可以是 function + 函数名 + () + {函数内容}组成

也可以简化写成函数名 + () + {函数内容} 组成

有意思的是,当 const 定义的是一个引用类型的数据时,例如说数组,它只要是不整体进行更新,就不会报错,也会完成更新操作

例如,我们定义了一个数组常量,然后对这个数组常量中的某一项进行修改,它并不会报错,而当我们整体对它进行修改时就会报错。

引用类型是“引用传递”的,引用类型的传递对原数据修改后,引用后的数据也会随之变化。

例如:

const list = [1, 2, 3];

// 当 const 定义的是一个引用类型的数据时,例如说数组

// 它只要是不整体进行更新,就不会报错,也会完成更新操作

list[1] = 22;

// 可以看到的是可以更新的

console.log(list);

// 整体更新时会报错,例如:

// list = [4, 5, 6];

const li = list;

list[1] = “haha”;

// 可以看到的是,当 list 中的值变了之后,li 中的值也会随之变化

console.log(li);

// 引用传递就是传递内存地址,可以理解为指针

二、html 文档引入 js 的方式

html 文档引入 js 一共有三种方式

直接写到 html 事件属性中

事件属性:对事件定义它的回调方法,它的值是 js 代码

事件属性: “on” + 事件名称, 例如点击事件:onclick

例如:我们创建一个按钮事件 button

\

οnclick="console.log(this.innerHTML);this.style.background = 'yellow'">

按钮 1

\

这样设置是完全可以的,不过如果一旦事件变得多起来,这一行代码就会看起来非常的臃肿,而且不利于代码的复用。

2.js 代码量少,且仅在当前 html 页面使用,可以直接写在 script 标签中

我们继续创建一个按钮事件 button

\

按钮 2 > \

const btns = document.querySelector(“.botton4”);

btns.addEventListener(“click”, show_s);

function show_s() {

console.log(btns.innerHTML);

btns.style.background = “green”;

}

3.外部脚本:将 js代码 保存为一个单独的 js 文件,再通过 script 标签引入到当前的 html 文档中

\按钮 3 > \

demo2.js 代码

constbtn=document.querySelector(".botton3");

btn.addEventListener("click",show);

functionshow(){

console.log(btn.innerHTML);

btn.style.background="blue";

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/287339.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ArcGIS风暴】基于ArcGIS空间分析功能研究渭河流域镇驻地空间分布格局

【内容提要】:基于ArcGIS平台,借助空间分析的方法,用空间平滑法(基于移动搜索法FAC和核估计)分析渭河流域镇驻地的分布特征。 实验过程 1. 加载数据 渭河流域的居民点(Resident_point.shp),DEM(等高线)、水系(线)、道路(线)空间数据,如下图所示。

基于iSroll 5.0实现的上拉加载和下拉刷新插件

Updownload.js 基于iSroll 5.0实现的上拉加载和下拉刷新插件 移动端效果比较好,开发者工具打开后,需要刷新下页面。 [演示地址:] https://chenyk2016.github.io/upDownLoad/demo.html [github地址:] https://github.com/chenyk2016/upDownLoad/ 效果图 1…

[小白进] 大佬们学习为什么简单?小白该如何学习?学历不高如何找工作?副业很好赚?了解后少走弯路

一、前言 对于新手来说,最开始学习编程的难度不亚于学天书,那为什么有经验的程序员在接触一门新技术时能够快速的上手并且完成一些需求的开发呢? 有些人可能看了这个问题觉得我在说废话,“有经验那不快那怎么才快?”…

Chrome如何离线安装crx文件

2019独角兽企业重金招聘Python工程师标准>>> 在Chrome浏览器的谷歌网上应用商店Chrome Web Store上点击应用安装按钮「添加至Chrome」,变成下载文件。把下载文件一拖进浏览器也不能安装。下面是如何离线安装crx文件的方法: ①点击Google Chr…

基于.NetCore开发博客项目 StarBlog - (6) 页面开发之博客文章列表

系列文章基于.NetCore开发博客项目 StarBlog - (1) 为什么需要自己写一个博客?基于.NetCore开发博客项目 StarBlog - (2) 环境准备和创建项目基于.NetCore开发博客项目 StarBlog - (3) 模型设计基于.NetCore开发博客项目 StarBlog - (4) markdown博客批量导入基于.N…

《看聊天记录都学不会C语言?太菜了吧》(12)循环有多容易?你看一眼就怀...

若是大一学子或者是真心想学习刚入门的小伙伴可以私聊我,若你是真心学习可以送你书籍,指导你学习,给予你目标方向的学习路线,无套路,博客为证。 本系列文章将会以通俗易懂的对话方式进行教学,对话中将涵盖…

***ECharts图表入门和最佳实践

ECharts数据图表系统? 5分钟上手! 【ECharts简介】 ECharts开源来自百度商业前端数据可视化团队,基于html5 Canvas,是一个纯Javascript图表库,提供直观,生动,可交互,可个性化定制的数…

WPF|一个比较简单带点设计的登录界面

阅读目录效果展示准备简单说明 源码结尾(视频及源码仓库)1. 效果展示欣赏效果:2. 准备创建一个WPF工程,比如站长使用 .NET 7[1] 创建名为 Login5 的WPF项目。找一张图片做为装饰,放登录表单左侧:添加Nuget…

Android插件基础之类加载器学习

记录学习java 加载器学习所获心得,逐步记录了解java加载器的过程。为了知悉android 插件化的实现原理,从而需要从头了解android加载apk,以及基础的java类加载的加载过程情况,为方便记录和记忆,故此将学习了解的过程记录…

《看聊天记录都学不会C语言?太菜了吧》(13)(9*9 乘法表)寻找电脑中的盲盒彩蛋

若是大一学子或者是真心想学习刚入门的小伙伴可以私聊我,若你是真心学习可以送你书籍,指导你学习,给予你目标方向的学习路线,无套路,博客为证。 本系列文章将会以通俗易懂的对话方式进行教学,对话中将涵盖…

Fragment使用--文章集锦

android使用Fragment实现底部菜单使用show()和hide()来切换以保持Fragment状态Android Fragment 真正的完全解析(上)Android Fragment实践(一)纠正对Fragment Transaction BackStack的误解多个Fragment 切换时不重新实例化Fragment详解之四——管理Fragm…

使用 Postman 实现 API 自动化测试

1背景介绍 相信大部分开发人员和测试人员对 postman 都十分熟悉,对于开发人员和测试人员而言,使用 postman 来编写和保存测试用例会是一种比较方便和熟悉的方式。但 postman 本身是一个图形化软件,相对较难或较麻烦(如使用 …

php json -gt;访问,【转】Php+ajax+jsonp解决ajax跨域问题

首先:jsonp是json用来跨域的一个东西。原理是通过script标签的跨域特性来绕过同源策略。发送端:$.ajax({type : "post",url : "ajax.php",dataType : "jsonp",jsonp: "callback",//传递给请求处理程序或页面的&…

《看聊天记录都学不会Python到游戏实战?太菜了吧》(1)加载Python神器!亮剑!

本系列文章将会以通俗易懂的对话方式进行教学,对话中将涵盖了新手在学习中的一般问题。此系列将会持续更新,包括别的语言以及实战都将使用对话的方式进行教学,基础编程语言教学适用于零基础小白,之后实战课程也将会逐步更新。 若…

Codeigniter 3 拓展HMVC

2019独角兽企业重金招聘Python工程师标准>>> 在Codeiniter(以下统称CI) 2.X版本中,我们就通过拓展核心类库实现了HMVC,但是同样的代码,拿到CI 3中,就很有可能不好用了。 ###拓展核心类库方式 官…

玩转ASP.NET Core 6.0框架-序言

ASP.NET Core是微软提供的强大的web框架,它有很多潜在的强大而有用的功能。本专栏的目标是帮助您把框架的隐藏能力最大限度地发挥出来,让您能够按需定制ASP NET Core框架。本专栏提供了一种具体的操作和实现方法,可以让你在短时间尽可能地提高…

从C#开始的面向对象编程经典自学教程

1、C语言的时代 在C语言时代,可以认为那时的编程过程就是表格加工过程,也就是从A表格到B表格、再到C表格…..等等,这个过程中,计算机语言如何描述一个表格,成为计算机语言的关键。 对一个表格的分析可以发现:表格是两部分组成:表头和表格: 学生表 STUDENT 在这个表格…

《看聊天记录都学不会Python到游戏实战?太菜了吧》(2)在python中加号竟然如此善变

本系列文章将会以通俗易懂的对话方式进行教学,对话中将涵盖了新手在学习中的一般问题。此系列将会持续更新,包括别的语言以及实战都将使用对话的方式进行教学,基础编程语言教学适用于零基础小白,之后实战课程也将会逐步更新。 若…

mysql数据库rp集群,使用MySQL-Cluster搭建MySQL数据库集群

1、MySQL集群的作用:- 解决访问节点的单点故障- 数据存储节点的单点故障- 解决数据存储节点数据备份问题2、集群:使用一组服务器提供相同的服务3、关于MySQL-Cluster:MySQL官方提供的集群版本已集成标准版MySQL程序,可独立安装使用…

桌面虚拟化云技术将支撑数字化医院

桌面虚拟化云技术将支撑数字化医院 2013-12-04 10:32 现今医疗行业已经从医院——患者的二元关系走向从医院——患者——政府监督——医疗保险的多元关系,医疗体系需要更高效的运转,患者需要更好的就医体验,这使得医疗行业信息化建设的重要性…