- 使用 Spring Initializr 创建 Spring Boot 应用程序
- 在Spring Boot中配置Cassandra
- 在 Spring Boot 上配置 Tomcat 连接池
- 将Camel消息路由到嵌入WildFly的Artemis上
JavaScript 的组成:
①ECMAScript(简称 ES):规定了 JavaScript 语法 (有多个版本)
②DOM:页面文档对象模型,对页面中的元素进行操作 (用户交互,动态的操作页面元素)
③BOM:浏览器对象模型,对浏览器窗口进行操作 (如:url,刷新按钮,前进,回退)
重要概念:ECMAScript
这是一套 “标准”,无论是啥样的 JS 引擎都要遵守这个标准来实现
本篇主要学习 ES ,即JavaScript 语法
JavaScript (简称 JS)
是一个脚本语言,通过解释器运行;主要在客户端(浏览器)上运行,现在也可以基于 node.js 在服务器端运行
JavaScript 运行过程
直接嵌入到 html 元素内部
< input type=“button” value=“试试啊” οnclick=“alert(‘试试就试试’)”>
.
注意: JS 中字符串常量可以使用单引号表示,也可以 使用双引号表示.
HTML 中推荐使用双引号,JS 中推荐使用单引号
所有 html 标签,只要是以 on 开头的,几乎都是 JS 的事件属性
事件: 指用户交互时发生了某个事件,就会调用该事件绑定的 JS 代码
写到 script 标签中
< script>
js 代码;
< /script>
.
举例:
< script>
alert("一朵花花");
< /script>
script 标签写在 head标签内、body标签内、body标签外 Html 标签内 (推荐) 都行
< script src=“hello.js”>< /script>
.
注意: 这种情况下 script 标签中间不能写代码,必须空着(写了代码也不会执行).
适合代码多的情况
举例:
1.先创建一个 js 文件
alert("一朵花花...");
2.引入外部文件
<script src="外部引入的js文件.js"></script>
单行注释 //
多行注释 /* /
多行注释不能嵌套
①// 单行注释
.
② /
多行注释
多行注释
*/
弹出一个输入框
< input type=“button” value=“prompt” οnclick=“prompt(‘请输入姓名:’)”>
alert
弹出一个警示对话框,输出结果,提示一些信息
< input type=“button” value=“alert” οnclick=“alert(‘弹出窗弹出的内容’)”>
console.log
在控制台打印一个日志(供程序员看),用于开发者调试
< input type=“button” value=“console.log” οnclick=“console.log(‘请输入姓名:’)”>
.
注意: 在 VSCode 中直接输入 “log” 再按 tab 键,就可以快速输入 console.log
需要打开浏览器的开发者工具(F12),Console(控制台)标签页才能看到结果:
var 变量名 = 值;
let 变量名 = 值;
.
这个值可以动态的指定成想要的类型 (数值型、字符串类型、布尔类型…)
var 和 let 只是表示要定义变量
举例:
<script>
var name = prompt("请输入姓名:");
var age = prompt("请输入年龄:");
var score = prompt("请输入分数");
alert("您的姓名是: " + name + "\n" + "您的年龄是: " + age + "\n" + "您的分数是: " +
score + "\n");
</script>
在 Java 里,一个变量确定类型之后,是不能改变的;而在 JS 中,是可以改变的
即:JS 中,变量可以从一个类型变为另一个类型
<script>
var a = 10;
var b = "huahua";
</script>
2.随着程序运行,变量的类型可能会发生改变
<script>
var a = 10; // 数字
a = "huahua"; // 字符串
</script>
C,C++,Java,Go 等语言是静态类型语言:一个变量在创建的时候类型就已确定,不能在运行时发生改变
JS 内置数据类型:
var a = 07; // 八进制整数, 以 0 开头
var b = 0xa; // 十六进制整数, 以 0x 开头
var c = 0b10; // 二进制整数, 以 0b 开头
一个八进制数字对应三个二进制数字
一个十六进制数字对应四个二进制数字. (两个十六进制数字就是一个字节)
特殊的数字值
var max = Number.MAX_VALUE;
console.log(max * 2); // 得到 Infinity
console.log(-max * 2); // 得到 -Infinity
console.log('hehe' - 10); // 得到 NaN
注意:
基本规则:
字符串字面值需要使用引号引起来,单引号双引号均可
var a = "haha";
var b = 'haha';
var c = hehe; hehe需要先定义好该变量再使用,否则会报错;js报错,后边的代码就不再执行
转义字符:
如果字符串中本来已经包含引号,使用转义字符即可
var msg = "My name is "zhangsan""; —— 出错
var msg = "My name is \"zhangsan\""; —— 正确, 使用转义字符. \" 来表示字符串内部的引号.
var msg = "My name is 'zhangsan'"; —— 正确, 搭配使用单双引号
var msg = 'My name is "zhangsan"'; —— 正确, 搭配使用单双引号
字符串内,需要使用 单引号 / 双引号 作为字符串的一部分,可以:
求字符串长度
使用 String 的 length 属性,即 .length
举例:
var v = "Java";
console.log(v.length); //4
字符串拼接
var p = "I am ";
var q = "huahua";
console.log(p + q);
var p = "My age is ";
var q = 18;
console.log(p + q);
表示 “真” 和 “假”,和 Java 中一样
var d;
console.log(d);
d变量定义了,但未初始化,此时 d=undefined,不会报错
var d;
console.log(d + " Yeah");
var d;
console.log(d + 66);
null 表示当前的变量是一个 “空值”
var b = null;
console.log(b + 10); // 10
console.log(b + "10");
注意:
初学者 android 问题。好的,我已经成功写入文件。例如。 //获取文件名 String filename = getResources().getString(R.string.filename
我已经将相同的图像保存到/data/data/mypackage/img/中,现在我想显示这个全屏,我曾尝试使用 ACTION_VIEW 来显示 android 标准程序,但它不是从/data/dat
我正在使用Xcode 9,Swift 4。 我正在尝试使用以下代码从URL在ImageView中显示图像: func getImageFromUrl(sourceUrl: String) -> UII
我的 Ubuntu 安装 genymotion 有问题。主要是我无法调试我的数据库,因为通过 eclipse 中的 DBMS 和 shell 中的 adb 我无法查看/data/文件夹的内容。没有显示
我正在尝试用 PHP 发布一些 JSON 数据。但是出了点问题。 这是我的 html -- {% for x in sets %}
我观察到两种方法的结果不同。为什么是这样?我知道 lm 上发生了什么,但无法弄清楚 tslm 上发生了什么。 > library(forecast) > set.seed(2) > tts lm(t
我不确定为什么会这样!我有一个由 spring data elasticsearch 和 spring data jpa 使用的类,但是当我尝试运行我的应用程序时出现错误。 Error creatin
在 this vega 图表,如果我下载并转换 flare-dependencies.json使用以下 jq 到 csv命令, jq -r '(map(keys) | add | unique) as
我正在提交一个项目,我必须在其中创建一个带有表的 mysql 数据库。一切都在我这边进行,所以我只想检查如何将我所有的压缩文件发送给使用不同计算机的人。基本上,我如何为另一台计算机创建我的数据库文件,
我有一个应用程序可以将文本文件写入内部存储。我想仔细看看我的电脑。 我运行了 Toast.makeText 来显示路径,它说:/数据/数据/我的包 但是当我转到 Android Studio 的 An
我喜欢使用 Genymotion 模拟器以如此出色的速度加载 Android。它有非常好的速度,但仍然有一些不稳定的性能。 如何从 Eclipse 中的文件资源管理器访问 Genymotion 模拟器
我需要更改 Silverlight 中文本框的格式。数据通过 MVVM 绑定(bind)。 例如,有一个 int 属性,我将 1 添加到 setter 中的值并调用 OnPropertyChanged
我想向 Youtube Data API 提出请求,但我不需要访问任何用户信息。我只想浏览公共(public)视频并根据搜索词显示视频。 我可以在未经授权的情况下这样做吗? 最佳答案 YouTube
我已经设置了一个 Twilio 应用程序,我想向人们发送更新,但我不想回复单个文本。我只是想让他们在有问题时打电话。我一切正常,但我想在发送文本时显示传入文本,以确保我不会错过任何问题。我正在使用 p
我有一个带有表单的网站(目前它是纯 HTML,但我们正在切换到 JQuery)。流程是这样的: 接受用户的输入 --- 5 个整数 通过 REST 调用网络服务 在服务器端运行一些计算...并生成一个
假设我们有一个名为 configuration.js 的文件,当我们查看内部时,我们会看到: 'use strict'; var profile = { "project": "%Projec
这部分是对 Previous Question 的扩展我的: 我现在可以从我的 CI Controller 成功返回 JSON 数据,它返回: {"results":[{"id":"1","Sourc
有什么有效的方法可以删除 ios 中 CBL 的所有文档存储?我对此有疑问,或者,如果有人知道如何从本质上使该应用程序像刚刚安装一样,那也会非常有帮助。我们正在努力确保我们的注销实际上将应用程序设置为
我有一个 Rails 应用程序,它与其他 Rails 应用程序通信以进行数据插入。我使用 jQuery $.post 方法进行数据插入。对于插入,我的其他 Rails 应用程序显示 200 OK。但在
我正在为服务于发布请求的 API 调用运行单元测试。我正在传递请求正文,并且必须将响应作为帐户数据返回。但我只收到断言错误 注意:数据是从 Azure 中获取的 spec.js const accou
我是一名优秀的程序员,十分优秀!