JavaScript - 基础JavaScript相关记录

数据类型

undefined(未定义)、null(空)、boolean(布尔型)、string(字符串)、symbol、number(数字)、bigint(可以表示任意大的整数)和 object(对象)

变量赋值
var ourName = 0; 
通常在声明变量的时候会给变量初始化一个初始值
ourName= 5;

一个变量的值赋给另一个
var myNum;
myNum = ourName;

变量被声明的时候,程序内部会给它一个初始值 undefined
当对一个值为 undefined 的变量进行运算操作的时候,算出来的结果将会是 NaN,它的意思是 “Not a Number”。
当用一个值是 undefined 的变量来做字符串拼接操作的时候,它会转换成字符串(string)undefined。

数字递增+=、递减-=、乘*=、除/=
增
i++;
i+=1;
i=i+1;
减
i--;
i-=1;
乘
myVar *= 5;
除
myVar /= 5;
余数运算符
5 % 2 = 1 因为
Math.floor(5 / 2) = 2 (商)
2 * 2 = 4
5 - 4 = 1 (余数)
转义字符
在被转义的字符前面使用反斜杠(\)
var sampleStr = "Alan said, \"Peter is learning JavaScript\".";

\'	单引号
\"	双引号
\\	反斜杠
\n	换行符
\r	回车符
\t	制表符
\b	退格
\f	换页符
单引号双引号

在一个字符串中使用多个引号的时候,可以使用单引号包裹双引号或者相反。此时不必使用转义字符

查找字符串的长度
"Alan Peter".length
index(索引)
var firstName = "Charles";
var firstLetter = firstName[0];
获取最后一个值
var lastLetter = firstName[firstName.length - 1];
修改数组中的数据
var ourArray = [50,40,30];
ourArray[0] = 15;
push() 添加元素到数组末尾

将数据添加到数组末尾

var arr1 = [1,2,3];
arr1.push(4);
.unshift() 添加元素到数组头部

用法与push相同

var ourArray = ["Stimpson", "J", "cat"];
ourArray.unshift("Happy");
.pop() 移除数组最后一个元素

移除数组末尾的元素并返回这个元素

var threeArr = [1, 4, 6];
var oneDown = threeArr.pop();
.shift() 移除数组第一个元素

移除数组第一个元素并返回这个元素

var ourArray = ["Stimpson", "J", ["cat"]];
var removedFromOurArray = ourArray.shift();
.用函数编写可重用代码
function testFun(param1, param2) {
  console.log(param1, param2);
}
testFun()
.全局作用域和函数

具有全局作用域的变量可以在代码的任何地方被调用
没有使用 var 关键字定义的变量,会被自动创建在 global 作用域中,形成全局变量。

局部作用域和函数
function myTest() {
  var loc = "foo";  只在该函数内可见
  console.log(loc);
}
函数中的全局作用域和局部作用域
var someVar = "Hat";
function myFun() {
  var someVar = "Head";
  return someVar;
}
函数 myFun 将会返回字符串 Head,因为局部变量的优先级更高
if 语句
function test (myCondition) {
  if (myCondition) {
     return "It was true";
  }
  return "It was false";
}
test(true);
test(false);
严格相等运算符===
与相对相等操作符(==)不同,严格相等运算符不会做类型转换。
3 ===  3	true 
3 === '3'	false
严格不等运算符!==

不会转换值的数据类型

3 !==  3	false
3 !== '3'	true
4 !==  3	true
查看数据类型 typeof
typeof '3'
且或非
&&||
Switch 语句

Switch 将表达式的值与 case 子句匹配
测试 case 值使用严格相等(===)运算符进行比较。
break 告诉 JavaScript 停止执行 switch 语句。 如果遗漏了 break ,下一个语句将会被执行。

switch(lowercaseLetter) {
  case "a":
    console.log("A");
    break;
  case "b":
    console.log("B");
    break;
  default:
    defaultStatement;
    break;
}
添加 default 语句,它会在找不到相匹配的 case 语句之后执行。 
可以把它看作是 if/else 链中最后的那个 else 语句
多个判断设置相同结果
var result = "";
switch(val) {
  case 1:
  case 2:
  case 3:
    result = "1, 2, or 3";
    break;
  case 4:
    result = "4 alone";
}
对象(object)(字典)
访问对象属性(字典)

访问对象属性有两种方式:点号表示法(.)和方括号表示法([])

var myObj = {
  prop1: "val1",
  prop2: "val2"
};
var prop1val = myObj.prop1;
var prop2val = myObj[prop2];
更新(添加)对象属性(字典)

更新也有两种方式:点号(.)和方括号([])

删除对象属性(字典)
delete ourDog.bark;
检查对象属性是否存在
var myObj = {
  top: "hat",
  bottom: "pants"
};
myObj.hasOwnProperty("top");  true
myObj.hasOwnProperty("middle");  false
访问嵌套对象
var ourStorage = {
  "desk": {
    "drawer": "stapler"
  },
  "cabinet": {
    "top drawer": { 
      "folder1": "a file",
      "folder2": "secrets"
    },
    "bottom drawer": "soda"
  }
};
ourStorage.cabinet["top drawer"].folder2;
ourStorage.desk.drawer;
for循环
var ourArray = [];
for (var i = 0; i < 5; i++) {
  ourArray.push(i);
}
do…while 循环

不论什么情况,它都会首先 do(运行)循环里的第一部分代码,然后 while(当)规定的条件被评估为 true(真)的时候,它会继续运行循环

递归
  function multiply(arr, n) {
    if (n <= 0) {
      return 1;
    } else {
      return multiply(arr, n - 1) * arr[n - 1];
    }
  }
 等同于:
 function multiply(arr, n) {
    var product = 1;
    for (var i = 0; i < n; i++) {
        product *= arr[i];
    }
    return product;
  }
floor向下取整

floor

Math.floor(Math.random() * 20);
向下取整获得最近的整数
parseInt字符串转换成整数
var a = parseInt("007");
parseInt 函数进制
parseInt(string, radix);
var a = parseInt("11", 2);
变量 radix 表示 11 是在二进制系统中。 这个示例将字符串 11 转换为整数 3
条件运算符(三元运算符)

a ? b : c, where a 是条件,当条件返回 true 的时候运行代码 b,当条件返回 false 的时候运行代码 c

return a > b ? "a is greater" : "b is greater or equal";
多层三元运算
 return (a === b) ? "a and b are equal" 
    : (a > b) ? "a is greater" 
    : "b is greater";
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值