前言
JavaScript总结笔记篇仅是记载本人学习过程中的一些总结,为了梳理一下知识点,督促自己不断加强学习。文中有些是源自官网,有些是搜集资料,有些是个人观点,难免存在某些知识点疏漏或者是有错误的地方,如果错误之处,希望看到的小伙伴能及时提个醒,避免误导其他小伙伴,也希望我的总结能帮助到正在学或者是将要学习JavaScript的小伙伴们!大家一起努力,早日成为IT界的大神!
一、JavaScript基本语法
(一)变量(variable)
1.变量声明 var a;
2.命名规则
(1)变量名必须以英文字母、_、$
开头
(2)变量名可以包括英文字母、__、$
、数字
(3)不可以用系统的关键字、保留字作为变量名
(二)基本语法
1.值类型(数据类型)
(1)不可改变的原始值(栈数据)Stack
原始值:Number、String、Boolean、Undefined、Null
(2) 引用值(堆数据)Heap——有属性和方法
引用值:Array、Object、Function
(三)JS运算符
1.JS语句基本规则
(1)语句后面要用分号结束";"
(2)js语法错误会引发后续代码终止,但不会影响其他js代码块
(3)书写格式要规范,"= + / -"两边都应该有空格
(四)JS运算符
1.比较运算符(>、<、==、>=···)比较结果为boolean值
注:(NaN == NaN)判断为false
2.逻辑运算符(&&、||、!)
3.运算操作符
(1)“+”:
- 数字运算、字符串连接
- 任何数据类型加字符串都等于字符串
(2)“-"、”/“、”%“、”=“、”()"
1 / 0 = Infinity(Number类型)
0 / 0 = NaN
注:优先级“=”最弱,“()”优先级较高
(3)、"++"、“–”、“+=”、“-=”、“/=”、“*=”、"%="
a++与++a的区别(这是我原来比较懵的一个点,不懂的小伙伴可以留言)
var a = 10;
var b = ++a - 1 + a++;
document.write(b + "" + a);//21 12
赋值的顺序:自右向左
计算的顺序:自左向右
学习完之后可以做个简单的小test,看看自己是否掌握了所学知识
(1)打印结果
//打印结果
var a = (10 * 3 - 4 / 2 + 1) % 2,
b = 3;
b %= a + 3;
document.write(a++ + " " + --b);
(2)var a = 123;var b =234;请交换a、b的值
var a = 123,
b = 234;
var c = a + b;
a = c - a;
b = c - b;
console.log(a, b); //a = 234,b = 123
(五)条件语句
1.if、if else if
2.for
3.while、do while
注:以下写法for循环等于while循环
// var i = 0;
// for(;i < 10;){
// document.write(i);
// i++;
// }
while(i<10){
document.write(i);
i++;
}
二、Test
(一)计算2的n次幂,n可输入,n为自然数
var n = parseInt(window.prompt('请输入n的值'));
var mul = 1;
for(var i = 0;i < n;i++){
mul *= 2;
}
console.log(mul);
(二)计算n的阶乘,n可输入
var n = parseInt(window.prompt('请输入n的值'));
var mul = 1;
for(var i = 1;i <= n;i++){
mul *= i;
}
console.log(mul);
(三)编写一个程序,输入一个三位数的正整数,输出时反向输出。如:输入456,输出654
function reverse() {
var num = window.prompt("input");
var str = "";
for(var i = num.length - 1; i >= 0; i --) {
str += num[i];
}
document.write(str);
}
(四)著名的斐波那契数列
1 1 2 3 5 8 输出第n项
function fb(n) {
if(n == 1 || n == 2) {
return 1;
}
return fb(n - 1) + fb(n - 2);
}
(五)写一个函数,实现n的阶乘
function mul(n) {
if(n == 1) {
return 1;
}
return n * mul(n - 1);
}