// 变量是用于存储信息的"容器"。
// 声明变量:let 变量名(注:以前使用var)
let age
// 变量命名规则
// 1、不能用关键字
// 2、只能用下划线、字母、数字、$组成,且数字不能开头
// 3、字母严格区分大小写
// 赋值
age = 18
// 声明的同时直接赋值 变量的初始化
let age = 18
//声明多个变量
let name = '张三',age = 18
5、操作HTML元素
// 改变 HTML 内容
<!DOCTYPEhtml><html><body><h1>我的第一个 Web 页面</h1><pid="demo">我的第一个段落</p><script>
document.getElementById("demo").innerHTML ="段落已修改。";</script></body></html>
// 改变 HTML 属性
<!doctypehtml><html><head><metacharset="UTF-8"/><title></title></head><body><imgid="image"src="https://www.baidu.com/img/bd_logo1.png"/><script>
document.getElementById("image").src ="https://static.shiyanlou.com/img/shiyanlou_logo.svg";</script></body></html>
// 改变 HTML 元素的样式
<!doctypehtml><html><head><metacharset="UTF-8"/><title></title></head><body><pid="syl"style="color: red;">实验楼</p><script>
document.getElementById("syl").style.color ="green";</script></body></html>
for (初始化; 条件; 增量)
{
循环代码;
}
使用 break 跳出循环
使用 continue 跳过迭代 不是完全跳出循环,而是跳过当前循环而执行下一个循环
while (条件)
{
// 需要执行的代码;
}
while 循环只有在条件为真的时候才执行
do
{
// 需要执行的代码;
} while (条件);
do while 循环在检测条件之前就会执行
while 循环,先判断再执行;do while 循环先执行一次再判断。
13、创建函数
函数声明创建函数
function functionName(parameters)
{
// 执行的代码
}
函数表达式创建函数
var functionName = function (parameters)
{
// 执行的代码
};
在 JavaScript 中没有重载
在 JavaScript 中函数的返回值
如果函数中没有 return 语句,那么函数默认的返回值是:undefined。
如果函数中有 return 语句,那么跟着 return 后面的值就是函数的返回值。
如果函数中有 return 语句,但是 return 后面没有任何值,那么函数的返回值也是:undefined。
函数在执行 return 语句后会停止并立即退出,也就是说 return 语句执行之后,剩下的代码都不会再执行了。
当函数外部需要使用函数内部的值的时候,我们不能直接给予,需要通过 return 返回。
匿名函数 匿名函数就是没有命名的函数,一般用在绑定事件的时候
function()
{
// 执行的代码
}
匿名函数不能通过直接调用来执行,因此可以通过匿名函数的自调用的方式来执行
(function () {
alert("hello");
})();
递归
function foo(n) {
if (n == 0) {
return 0;
} // 临界条件
else {
return n + foo(n - 1);
}
}
var a = foo(10);
a; // 55
闭包是指函数可以使用函数之外定义的变量。
简单的闭包
var num = 3;
function foo() {
console.log(num);
}
foo(); //打印 3
复杂的闭包
function f1() {
var num1 = 6;
function f2() {
var num2 = 7;
return num2;
}
console.log(num1 + f2());
}
f1();
在函数代码中,使用特殊对象 arguments,无需明确指出参数名,我们就能访问它们。
第一个参数是 arguments[0],第二个参数是 arguments[1],以此类推。
function add() {
var sum = 0;
for (var i = 0; i < arguments.length; i++) {
sum += arguments[i];
}
return sum;
}
add(); // 0
add(1); // 1
add(1, 2); // 3
add(1, 2, 3); // 6
用 Function() 对象创建函数的语法如下:
var function_name = new Function(arg1, arg2, ..., argN, function_body)
注:每个参数都必须是字符串,function_body 是函数主体,也就是要执行的代码。
例子:
var add = new Function("a", "b", "console.log(a+b);");
add(2, 5); // 打印 7
function addF(foo, b, c) {
foo(b, c);
}
var add = new Function("a", "b", "console.log(a+b);");
addF(add, 2, 5); // 打印 7
14、常用内置对象介绍
Array 对象
Array 对象的常用属性:length,获取数组的长度。
Array 对象的常用方法:
concat() 方法用于连接两个或多个数组,并返回结果。
var a = [1, 2, 3];
var b = [4, 5, 6];
var c = ["one", "two", "three"];
console.log(a.concat(b, c)); // 打印结果为:[1, 2, 3, 4, 5, 6, "one", "two", "three"]
join() 方法,将数组转换成字符串。
pop() 方法,删除并返回数组的最后一个元素。
push() 方法,向数组的末尾添加一个或更多元素,并返回新的长度。
reverse() 方法,颠倒数组的顺序。
shift() 方法,删除并返回数组的第一个元素。
unshift() 方法,向数组的开头添加一个或更多元素,并返回新的长度。
slice(start, end) 方法,从某个已有的数组返回选定的元素。
// strat 值是必需的,规定从何处开始选取
// end 值可选,规定从何处结束选取,如果没有设置,默认为从 start 开始选取到数组后面的所有元素
splice(start, deleteCount, options) 方法,删除或替换当前数组的某些项目。
// start 值是必需的,规定删除或替换项目的位置
// deleteCount 值是必需的,规定要删除的项目数量,如果设置为 0,则不会删除项目
// options 值是可选的,规定要替换的新项目
// 和 slice() 方法不同的是 splice() 方法会修改数组
sort() 方法,将数组进行排序。
String 对象
String 对象的常用属性:length,获取字符串的长度。
String 对象的常用方法:
charAt(index) 方法,获取指定位置处字符。
// 字符串中第一个字符的下标是 0。如果参数 index 不在 0 与 string.length 之间,该方法将返回一个空字符串
charCodeAt(index) 方法,获取指定位置处字符的 Unicode 编码。
concat() 方法,连接字符串,等效于 “+”,“+” 更常用。与数组中的 concat() 方法相似。
slice() 方法,提取字符串的片断,并在新的字符串中返回被提取的部分。
indexOf() 方法,检索字符串。
toString() 方法,返回字符串。
toLowerCase() 方法,把字符串转换为小写。
toUpperCase() 方法,把字符串转换为大写。
replace() 方法,替换字符串中的某部分。
split() 方法,把字符串分割为字符串数组。
Date 对象
Date 对象方法:
Date():返回当日的日期和时间(输出的是中国标准时间)。
getDate():从 Date 对象返回一个月中的某一天 (1 ~ 31)。
getDay():从 Date 对象返回一周中的某一天 (0 ~ 6)。
getMonth():从 Date 对象返回月份 (0 ~ 11)。
getFullYear():从 Date 对象以四位数字返回年份。
getHours():返回 Date 对象的小时 (0 ~ 23)。
getMinutes():返回 Date 对象的分钟 (0 ~ 59)。
getSeconds():返回 Date 对象的秒数 (0 ~ 59)。
getMilliseconds():返回 Date 对象的毫秒(0 ~ 999)。
Math 对象
Math 对象的常用属性:
E :返回常数 e (2.718281828...)。
LN2 :返回 2 的自然对数 (ln 2)。
LN10 :返回 10 的自然对数 (ln 10)。
LOG2E :返回以 2 为底的 e 的对数 (log2e)。
LOG10E :返回以 10 为底的 e 的对数 (log10e)。
PI :返回 π(3.1415926535...)。
SQRT1_2 :返回 1/2 的平方根。
SQRT2 :返回 2 的平方根。
Math 对象的常用方法:
abs(x) :返回 x 的绝对值。
round(x) :返回 x 四舍五入后的值。
sqrt(x) :返回 x 的平方根。
ceil(x) :返回大于等于 x 的最小整数。
floor(x) :返回小于等于 x 的最大整数。
sin(x) :返回 x 的正弦。
cos(x) :返回 x 的余弦。
tan(x) :返回 x 的正切。
acos(x) :返回 x 的反余弦值(余弦值等于 x 的角度),用弧度表示。
asin(x) :返回 x 的反正弦值。
atan(x) :返回 x 的反正切值。
exp(x) :返回 e 的 x 次幂 (e^x)。
pow(n, m) :返回 n 的 m 次幂 (nm)。
log(x) :返回 x 的自然对数 (ln x)。
max(a, b) :返回 a, b 中较大的数。
min(a, b) :返回 a, b 中较小的数。
random() :返回大于 0 小于 1 的一个随机数。