- 使用 Spring Initializr 创建 Spring Boot 应用程序
- 在Spring Boot中配置Cassandra
- 在 Spring Boot 上配置 Tomcat 连接池
- 将Camel消息路由到嵌入WildFly的Artemis上
JavaScript (简称 JS)
JavaScript 之父 布兰登 * 艾奇 (Brendan Eich)
<script>
alert("hello");
</script>
直接嵌入到 html 元素内部
<input type="button" value="点我一下" onclick="alert('你还真点')">
点击之后会显示提示框
写到 script 标签中
<script>
alert("hello world");
</script>
写到单独的 .js
文件中
<script src='1.js'></script>
1.js代码
alert('hello');
**单行注释: ** //
**多行注释: ** /* */
// 单行注释
/*
多行注释
多行注释
*/
弹出一个输入框
<script>
let name = prompt("请输入你的姓名");
alert(name);
</script>
弹出一个警告框
<script>
alert('hello');
</script>
在控制台打印一个日志
<script>
console.log("这是打印日志的");
</script>
在浏览器中按 F12
====> 找到 Console
窗口
这里就是显示日志的
.
表示取对象中的某个属性或者方法. 可以直观理解成 “的”. console.log
就可以理解成: 使用 “控制台” 对象 “的” log
方法username
和 userName
是两个不同的变量;
)作为语句结束的标记.let
和 var
的区别 参考文章: 具体文章let a = 20;
let b = "helloworld";
let name = prompt("请输入你的姓名");
let age = prompt("请输入你的年龄");
let cl = prompt("请输入你的班级");
console.log(name);
console.log(age);
console.log(cl);
Java是一种静态类型,一旦开始定义了类型,后面就无法改变了
而JavaScript是动态类型,类型可以改变。
<script>
let a = 20; // 数值类型
console.log(a);
a = "helloworld"; // 字符类型
console.log(a);
</script>
JS 中 内置的几种类型
类型 | 描述 |
---|---|
number | 数字. 不区分整数和小数. |
boolean | true 真,false 假. |
string | 字符串类型. |
undefined | 只有唯一的值 undefin. 表示未定义的值. |
null | 只有唯一的值null.表示空值 |
JS 中是不区分整数和浮点数,统一都使用"数字类型"来表示
二进制: 以 0b
或 0B
开头
八进制: 以 0
开头
十六进制: 以 0x
或 0X
开头
<script>
// 十六进制 以 "0x" 或 "0X" 开头
let a = 0xff;
let b = 0X123;
// 八进制 以 "0" 开头
let c = 07;
// 二进制 以 "0b" 或 "0B" 开头
let d = 0b1010;
let e = 0B1111;
</script>
科学计数法的表示方法,在实数后面跟随字母e
或者E
,后面加上一个带正号或负号的整数指数,正号可以省略.
<script>
// 普通的浮点型
let a = 1.2;
let b = 6e3;
// 科学计数法的表示
let c = 7e+3;
let d = 8E-3;
</script>
Infinity
: 无穷大, 大于任何数字. 表示数字已经超过了 JS 能表示的范围.-Infinity
: 负无穷大, 小于任何数字. 表示数字已经超过了 JS 能表示的范围.NaN
: (Not a Number)表示当前的结果不是一个数字.<script>
let max = Number.MAX_VALUE;
// 得到 Infinity
console.log(max * 2);
// 得到 -Infinity
console.log(-max * 2);
// 得到 NaN
console.log('hehe' - 10);
</script>
字符串字面值需要使用引号引起来, 单引号双引号均可
<script>
let a = 'hello';
let b = "hello";
let c = hello; // error 这里出错
</script>
包含字符串的引号必须匹配,如果字符串前面使用的是双引号,那么在字符串前面使用的是双引号,那么在字符串后面也必须使用双引号,反之都使用单引号.
转义字符 | 描述 |
---|---|
\b | 退格 |
\n | 换行符 |
\t | 水平制表符,Tab空格 |
\f | 换页 |
’ | 单引号 |
" | 双引号 |
\v | 垂直字符表 |
\r | 回车符 |
\ | 反斜杠 |
使用String的length属性即可
<script>
let a = "hehe";
let b = "哈哈";
console.log(a.length);
console.log(b.length);
</script>
使用 +
进行字符串拼接
<script>
let a = "hehe";
console.log(a + "world");
console.log(a + 10);
</script>
<script>
console.log(1 == 1);
// 下面的写法不科学 不建议使用
console.log(true + 1);
console.log(false + 1);
</script>
<script>
let a;
console.log(a);
// undefined 和 字符相加
console.log("hello" + a);
// undefined 和 数字相加
console.log(1 + a);
</script>
<script>
let a = null;
console.log(a);
</script>
+
加 -
减 *
乘 /
除 %
求模
<script>
console.log(1+2);
console.log(3-2);
console.log(2*3);
console.log(4/4);
console.log(4%3);
</script>
=``+=``-=``*=``/=``%=
<script>
let a = 1;
console.log(a);
a+=1;
console.log(a);
a-=1;
console.log(a);
a*=2;
console.log(a);
a/=2;
console.log(a);
a%=2;
console.log(a);
</script>
++
: 自增1 --
: 自减1
<script>
let a = 1;
// 前置的时候 先加1 再使用
// 后置的时候 先使用 再加1
a++;
console.log(++a);
a--;
console.log(--a);
</script>
<
小于>
大于<=
小于等于>=
大于等于==
比较相等(会进行隐式类型转换)!=
不等于===
比较相等(不会进行隐式类型转换)!==
(不会进行隐式类型转换)
<script>
console.log("5" == 5);
console.log("5" === 5);
</script>
&
按位与 同为1时为1,否则为0|
按位或 同为0时为1,否则为0;<script>
// 1 => 001
// 3 => 011
console.log( 1 & 3);
console.log( 1 | 3);
console.log( 1 ^ 3);
</script>
<<
左移>>
有符号右移(算术右移)>>>
无符号右移(逻辑右移)// 形式1
if (条件) {
语句
}
// 形式2
if (条件) {
语句1
} else {
语句2
}
// 形式3
if (条件1) {
语句1
} else if (条件2) {
语句2
} else if .... {
语句...
} else {
语句N
}
是 if else 的简化写法.条件 ? 表达式1 : 表达式2
switch (表达式) {
case 值1:
语句1;
break;
case 值2:
语句2:
break;
default:
语句N;
}
while (条件) {
循环体;
}
continue
结束当前这次循环,继续其他循环break
结束整个循环
for (表达式1; 表达式2; 表达式3) {
循环体
}
使用 new 关键字创建
// Array 的 A 要大写
let arr = new Array();
let arr = [];
let arr2 = [1, 2, 'haha', false]; // 数组中保存的内容称为 "元素"
<script>
let arr =[1,2,3];
console.log(arr[0]);
console.log(arr[-1]);
console.log(arr[3]);
</script>
<script>
let arr = [1,2,3];
arr.length = 6;
console.log(arr);
</script>
<script>
let arr = [1,2,3];
arr[5] = 6;
console.log(arr);
</script>
<script>
let arr = [1,2,3];
let newarr =[];
for(var i = 0; i < arr.length; i++){
newarr.push(arr[i]);
}
console.log(newarr);
</script>
<script>
let arr = [1,2,3];
arr.splice(0,1);
console.log(arr);
</script>
// 创建函数/函数声明/函数定义
function 函数名(形参列表) {
函数体
return 返回值;
}
// 函数调用
函数名(实参列表) // 不考虑返回值
返回值 = 函数名(实参列表) // 考虑返回值
代码示例:
<script>
function sayHello() {
console.log("hello");
}
sayHello();
</script>
**实参和形参之间的个数可以不匹配.**但是实际开发一般要求形参和实参个数要匹配
代码示例:
<script>
function Add(a,b,c) {
a = a | 0;
b = b | 0;
c = c | 0;
return a + b + c;
}
console.log(Add(1,2,3));
console.log(Add(1,2));
</script>
另外一种函数的定义方式
<script>
let add = function(a,b) {
let sum = 0;
for (let i = 0; i < arguments.length; i++) {
sum += arguments[i];
}
return sum;
}
console.log(add(10,20));
console.log(add(1,2,3,4,5));
console.log(typeof add);
</script>
在 JS 中, 字符串, 数值, 数组, 函数都是对象.
创建对象 代码:
var student = {
name:'蔡徐坤',
heigth: 200,
weight: 300,
sayHello: function() {
console.log("hello");
}
}
使用对象的属性和方法 代码:
console.log(student.name);
console.log(student.heigth);
student.sayHello();
<script>
var student = new Object();
student.name = "蔡徐坤";
student.height = 200;
student.weight = 300;
student.sayHello = function() {
console.log("hello");
}
console.log(student.name);
console.log(student.weight);
student.sayHello();
</script>
function 构造函数名(形参) {
this.属性 = 值;
this.方法 = function...
}
var obj = new 构造函数名(实参);
<script>
function Student(name,id,say){
this.name = name;
this.id = id;
this.say = function() {
console.log(say);
}
}
let xiaoMing = new Student('小明',1,'hello');
let xiaoHong = new Student('小红',2,'嗨害嗨');
let xiaoQiang = new Student('小强',3,'你好!');
console.log(xiaoMing);
console.log(xiaoHong);
xiaoQiang.say();
</script>
vue3 快速入门系列 - 基础 前面我们已经用 vue2 和 react 做过开发了。 从 vue2 升级到 vue3 成本较大,特别是较大的项目。所以许多公司对旧项目继续使用vue2,新项目则
C# 基础 C#项目创建 这里注意win10虚拟机需要更新下补丁,不然直接下载visual studio 2022会显示版本不支持 HelloWorld C#的类文件都是以.cs结尾,入口方法为sta
关于 iPhone 内存管理的非常基本的问题: 假设我有一个 viewController,其中有几个 subview 也由 viewController 控制。当我删除顶部 viewControll
我仍在努力适应指针。不是概念——我理解内存位置、匹配可变长度的指针增量等——这是语法。这是一个我认为是我感到困惑/无法直观把握的原因之一: int a = 42; 在一个int大小的内存空间中分配并放
1. 简介 Kafka(Apache Kafka) 是一种分布式流数据平台,最初由LinkedIn开发,并于后来捐赠给Apache软件基金会,成为了一个Apache顶级项目。它被设计用于处理大规
1.想要在命令提示符下操作mysql服务器,添加系统变量。(计算机-系统属性——环境变量——path) 2.查询数据表中的数据; select selection_lis
MySQL表的增删改查(基础) 1. CRUD 注释:在SQL中可以使用“–空格+描述”来表示注释说明 CRUD 即增加(Create)、查询(Retrieve)、更新(Update)、删除(Dele
我有一个网页,可以在加载时打开显示模式,在这个模式中,我有一个可以打开第二个模式的链接。当第二个模式关闭时(通过单击关闭按钮或单击模式外部),我想重新打开第一个模式。 对于关闭按钮,我可以通过向具有
使用 Core Data Fetched Properties,我如何执行这个简单的请求: 我希望获取的属性 ( myFetchProp ) 存储 StoreA ,它应该这样做: [myFetchPr
关闭。这个问题是opinion-based .它目前不接受答案。 想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它. 8年前关闭。 Improve this
最近,我得到了一个现有的Drupal项目,并被要求改进前端(HTML,JavaScript,CSS)。我在Django,PHP,Ruby等方面具有大量的前端和后端开发经验,但是我没有任何Drupal经
我试图让我的用户通过使用扫描仪类来决定要做什么,但我有一个问题,代码一旦运行就不会激活,并且它不会让我跳过任何行。我的代码如下所示: Scanner input = new Scanner(S
对模糊的标题表示歉意,因为我想不出这个名字是什么。 基本上创建一个计算学生财务付款的小程序。当我运行它时,它计算对象限额没有问题。然而,无论我尝试什么,对象“助学金”似乎除了 0 之外什么也没有提出。
这是我的代码 - main() { double x; double y = pow(((1/3 + sin(x/2))(pow(x, 3) + 3)), 1/3); prin
如果我的术语在这个问题上有误,我们深表歉意。 采取以下功能: i = 1; v = i * 2; for (j = 0; j < 4; j++ ) { console.log(v);
我的应用程序中有不同的类文件。我有 5 个类,其中 2 个是 Activity ,1 个是运行的服务。其他 2 个只是类。这两个类中变量的生命周期是多少。我知道一个 Activity 可以被操作系统杀
例如,一个方法返回一个 List 类型的对象。 public List bojangles () ... 一些代码调用方法FooBar.bojangles.iterator(); 我是 Java 的新
我遇到了一个奇怪的问题,网格的大小不适合我的屏幕。当我使用 12 列大时,它只占据屏幕的 1/3 的中间,请参见图像。我不确定是什么导致了这个问题。我没有任何会导致这种情况发生的奇怪 CSS。我不会在
我尝试使用头文件和源文件,但遇到了问题。因此,我对我正在尝试做的事情做了一个简化版本,我在 CodeBlocks 中遇到了同样的错误(undefined reference to add(double
我正在为我的网格系统使用基础,但这在任何网格系统中都可能是一个问题。我基本上用一个容器包裹了 3 个单元格,但其中一个单元格应该长到页面边框(留在我的 Sampe-Image 中)但这也可能在右侧)。
我是一名优秀的程序员,十分优秀!