JS为JavaScript, 是一种脚本语言, 通过解释器运行. 主要在浏览器中运行, 现在也可以基于 node.js 在服务器端运行. JS还可用于服务器开发和客户端开发.
HTML: 网页的结构(骨)
CSS: 网页的表现(皮)
JavaScript: 网页的行为(魂)
1.HTML的代码相当于完成了框架, 类似骨架,
2.CSS代码就是在完成的HTML框架上, 进行一些装饰, 类似与皮
3.JavaScript代码就是使网页具有和浏览者交互的功能, 这就是灵魂所在.
JS和HTML和CSS都是运行在浏览器上的, 浏览器中内置了JS引擎
像Java就是运行在JVM上, C/C++是运行在操作系统上,
浏览器端运行的JS:
JS的语法只能完成一些基本的逻辑, 想要完成复杂的交互任务, 就要使用到DOM API 和 BOM API.
代码:
<body>
<script>
alert("hello world");
</script>
</body>
JS中的字符串常量可以用单引号, 也可以用双引号.
效果:
alert即为在网页中弹出一个警示框
<body>
<button onclick="alert('hahaha')">点我</button>
</body>
2. 内嵌式
写在script中
也就是上文中的 第一个程序 HelloWorld
3. 外部式
写在单独的JS文件中
html文件:
<script src="hello.js">script>
JS文件:
alert("Hello")
弹出一个输入框:
<body>
<script>
prompt("来者何人:");
script>
body>
弹出一个警示框, 类似上文中的HelloWorld程序
在控制台打印一个日志
<body>
<script>
console.log("7777777");
script>
body>
console是JS中的一个’对象’, 而console.log可以理解为 使用控制台对象的long方法.
我们在此解释JavaScript语法和Java语法中不同的部分(什么?你问JavaScript和Java有什么关系? 什么关系都没有啊)
创建变量的时候, 可以使用JS中的var关键字和let关键字
<body>
<script>
let a = 10;
var b = 20;
var c = "haha";
console.log(a);
console.log(b);
console.log(c);
script>
body>
var和let皆可以创建不同类型的变量, 比如整形, 字符串都可以.
具体let和var的区别, 可以在点击此处进行查看let和var的区别.
<script>
let a = 10;
a = "haha"
script>
此处a的值就从10变为了"haha"
像C Java这样的语言时静态类型语言, 这样的语言的变量在创建时类型就已经确定了.
number: 数字, 不区分整数和小数
boolean: true表示真, false表示假
string: 字符串类型
undefined: 只有唯一的值 undefined, 即为未定义的值
null: 只有唯一的值null, 表示空值.
JS中不区分整数和浮点是, 统一用number数字类型表示
特殊的数字值:
Infinity: 无穷大, 表示数字已经超过了JS能表示的范围
-Infinity: 负无穷大, 表示数字已经超过了JS能表示的范围
NAN: 表示当前的结果不是数字
<body>
<script>
var a = "wo shi \"diyishuai\"";
var b = "wo shi 'diyishaui'";
var c = 'wo shi "diyishuai"';
console.log(a);
console.log(b);
console.log(c);
script>
<body>
<script>
var a = "wo shi \"diyishuai\"";
console.log(a.length);
script>
body>
<body>
<script>
var a = "hahaha";
console.log(a + "lelele");
script>
body>
布尔类型中的 true表示真, false表示假
在 true 和 false参与运算时, true表示1, false表示0.
<body>
<script>
console.log(true + 1);
console.log(false + 1);
script>
body>
<body>
<script>
var a;
console.log(a);
script>
body>
<body>
<script>
var a;
console.log(a + "haha");
script>
body>
<body>
<script>
var a;
console.log(a + 10);
script>
body>
null表示当前类型是一个空值
<body>
<script>
var a = null;
console.log(a + 10);
console.log(a + "haha")
script>
body>
注意:
null表示当前的值为空(有内存位置但没有值)
undefined表示当前的变量为定义(即连内存位置都没有)
JavaScript的运算符和Java的运算符区别不大, 此处说一些不同的部分
常见的 / 运算符会直接算到浮点数部分
<body>
<script>
var a = 10;
console.log(a / 20);
script>
body>
JS中比较相等的运算符有 == 和 =, 比较不相等的运算符有 != 和 !,
<body>
<script>
var a = 10;
var b = '10';
console.log(a == b);
console.log(a === b);
script>
body>
<body>
<script>
var arr = new Array();
script>
body>
<body>
<script>
var arr = [1,2,3,4];
script>
body>
JS中的数组中, 可以存放不同类型的值,
<body>
<script>
var arr = [1,2.5,"haha",null,undefined];
script>
body>
<body>
<script>
var arr = [1,2.5,"haha",null,undefined];
console.log(arr);
script>
body>
JS中数组的下标也是从0开始的
<body>
<script>
var arr = [1,2,3,4,5];
console.log(arr[0]);
console.log(arr[1]);
script>
body>
JS数组中如果获取非法下标的元素, 会打印undefined
<body>
<script>
var arr = [1,2,3,4,5];
console.log(arr[0]);
console.log(arr[1]);
console.log(arr[5]);
script>
body>
<body>
<script>
var arr = [1,2,3,4,5];
arr[100] = 0;
console.log(arr);
script>
body>
<body>
<script>
var arr = [1,2,3,4,5];
arr[-1] = 10;
console.log(arr);
script>
body>
由此可见数组不仅可以为数组, 还可以当作map使用, 更进一步说, 数组可以作为一个对象, 而下标为对象的一个元素, 数组中下标的值为对象的元素的值
<body>
<script>
var arr = [1,2,3,4,5];
console.log(arr.length);
script>
body>
运用push方法往数组中插入元素
<body>
<script>
var arr = [1,2,3,4,5];
arr.push(7);
console.log(arr.length);
script>
body>
通过splice方法来替换数组中的元素(替换也可以为删除)
第一个形参为下标的开始, 第二个形参为删除的元素个数.
<body>
<script>
var arr = [1,2,3,4,5];
arr.splice(2,2);
console.log(arr);
script>
body>
<body>
<script>
var arr = [1,2,3,4,5];
arr.splice(2,2,111,222);
console.log(arr);
script>
body>
你可以称为函数, 也可以称为方法
// 创建函数/函数声明/函数定义
function 函数名(形参列表) {
函数体
return 返回值;
}
// 函数调用
函数名(实参列表) // 不考虑返回值
返回值 = 函数名(实参列表) // 考虑返回值
无参数类型:
<body>
<script>
function ha() {
console.log("hahaha");
}
ha();
ha();
ha();
script>
body>
<body>
<script>
function add(x,y) {
console.log(x+y);
}
add(10,20);
add("haha","hehe");
script>
body>
<body>
<script>
function add(x,y,z) {
console.log(x+y+z);
}
add(10,20);
add(10,20,30);
add(10,20,30,40);
script>
body>
<body>
<script>
let f = function() {
console.log("haha");
}
f();
script>
body>
js对象中的每个属性和方法,其实都是通过“键值对” 这样的方式来表达的.{} 表示这是一个对象。
<body>
<script>
var student = {
name: "蔡徐坤",
height: 175,
weight: 170,
sayHello: function () {
console.log("hello");
},
};
console.log(student.name);
script>
body>