const a=true;
let b="hello"
var c={ name:'XX',age:10 };
console.log()
; //控制台输出日志var a = true; //旧的声明方法
console.log(a);
function b(){
let b="klxx"; //let 变量声明只在当前括号内有效
console.log(b);
}
b();
const c = 100; //常数声明(不可重复赋值)
获取数据类型: typeof(value)
数据类型转换
tosSring()
//方法【S大写】parseint(value)
、parsefloat(value)
Boolean(value)
、number(value)
msg.payload = JSON.parse(msg.payload)
转换为JSON格式对象let a = 1;
msg.payload = typeof(a); //获取数据类型
let b = true;
msg.payload = b.toString(); //转换成字符串【大写S】
let c = "12.5.5";
msg.payload = parseInt(c); //转换成数值
msg.payload = parseFloat(c);
let d = "wo";
msg.payload = Boolean(d); //强制转换(有值为true,空为false)
数据与对象的区别:
数组(array) [元素1,元素2,…]
let/var a=[];
/ msg.arr=[];
//逗号分割msg.arr.push("wo")
//添加在最后; / .unshift(“wo”) //添加到最前msg.arr.shift()
//方法:删除第一个元素;msg.arr[1]
= “wo”; //修改1索引的元素msg.arr.indexOf(元素值)
//返回值的索引 【大写O】msg.arr1 = []; //数组声明
msg.arr1[3] = 88; //修改元素
msg.arr1.push(33); //最后添加
msg.arr1.unshift(23); //最前添加
msg.arr1.shift(); //删除第一个
msg.payload = msg.arr1.indexOf(33); //indexOf【O:大写】返回索引
for(var i=1;i<msg.arr1.length;i++){
//遍历数组
}
对象(object) {属性名:属性值,…}
let obj1 = { "name":"小小","age":23}
msg.payload = obj1.name
/ obj1[“name”]obj1.name = "小明"
/ obj1.gender = "男"
//存在即更改,无则添加delete obj1[age]
//删除元素;2.obj1.age=null
; //只删除值msg.obj1 = msg.obj2
//赋值对象2到对象1let obj1 = {
"name":"小明",
"age":23
}
let obj2 = {
"name":"小画",
"age":21
}
obj1.age1 = 25; //增加键值对
delete obj1.age; //删除键值对
obj1 = obj2; //对象赋值
msg.payload = obj1 === obj2; //相等返回true
return msg;
函数(function)
function a(a,b,c) { a+b+c }
//有函数名;var fn = function() { }
//无函数名a(1,2,3)
a,b,c
(寄存器)1,2,3
(具体值)return msg
; //返回当前function函数块的msg对象,通过某一变量(Payload)来接收break
:跳出循环,执行一下跳continue
:跳出本次循环,执行下一循环function a(a,b,c){
let s = a+b+c;
msg.payload = s; //通过Payload变量接收
}
a(1,2,3)
return msg; //返回当前对象
常用的方法对字符串进行操作
split(分隔符)
//指定分隔符,分割成字符数组slice(开始索引,结束索引)
//截取一段字符replace(“原字符”,“替换字符”)
//替换某个字符concat(字符1,字符2)
//合并字符indexOf(“字符”)
charAt(索引)
let str1 = "中华人民共和国";
let str2 = "中华人民共和国,中国人民万岁";
let str3 = "";
// msg.payload = str1.charAt(3); 提取索引3的字符
// msg.payload = str1.indexOf("共"); 提取字符共的索引
// msg.payload = str2.lastIndexOf("中"); 提取最后字符中的索引
// msg.payload = str3.concat(str1,str2); 合并字符
// msg.payload = str2.split(","); 用,分割成2个字符串数组
// msg.payload = str2.slice(0,2); 从0截取2个字符
msg.payload = str1.replace("华人民共和",""); //替换字符
return msg; //返回当前对象
对象数据的常用方法
Object.key(对象)
Object.Value(对象)
Object.entries(对象)
obj1.hasOwnProperty(“特定键”)
let obj = {
"a":123,
"b":12.3,
"c":"wo",
"d":[1,"wo",3]
}
// msg.payload = obj.hasOwnProperty("e"); 是否含有特定键
// msg.payload = Object.keys(obj); 获取对象的所有键
// msg.payload = Object.values(obj); 获取对象的所有值
//msg.payload = Object.entries(obj); 对象转换数组
function a(){
this.a = "456",
this.b = [1,333]
}
let b = new a();
a.prototype.e = 89; //添加新的键e,值89(原型a()中无)
for(var i in b){
console.log( i +" " + b[i]) //控制台遍历对象
}
return msg; //返回当前对象
获取系统时间
let time1 = new Date(); //获取系统时间
let year = time1.getFullYear(); //年
let mouth = time1.getMonth()+1; //月份为0-11【需+1】
let day = time1.getDay(); //日
let h = time1.getHours(); //时
let m = time1.getMinutes(); //分
let s = time1.getSeconds(); //秒
let ms = time1.getMilliseconds(); //毫秒
let time2 = year+"-"+mouth+"-"+day+" "+h+":"+m+":"+":"+s+":"+ms;
msg.payload = time2;
return msg; //返回当前对象
语法
if(){
}else if (){
}else{
}
运算符
区别:
for(){}
:先检查条件,再执行(遍历数组、固定次数循环)while(){}
:先检查条件,再执行(条件未知<如持续监听>)do{} while()
:先执行,再检查条件(至少执行一次<如输入验证>)语法:
for(){
continue;
}
-----
let XXX
while(){
}
-----
let XXX
do {
}while()
示例:
// for循环:明确次数
for (let i = 0; i < 5; i++) {
console.log(i); // 输出0-4
}
// while循环:条件未知
let flag = true;
while (flag) {
flag = Math.random() > 0.5; // 随机退出
}
// do while循环:至少执行一次
let input;
do {
input = prompt("输入Y/N:");
} while (input !== "Y" && input !== "N");
区别:
for...in
:遍历对象键名(属性),用于对象(可枚举)for...of
:遍历可迭代值(元素),用于数组/字符串等(可迭代亦可枚举)语法:
for (let i in obj1){
}
for (let i of arr1\str1){
}
示例:
let str1 = "wo men zui bang"
let arr1 = [1,2,3,5,5,5,9,8]
let abj1 = {"a":1,"b":"san","c":[5,6]}
//=====for in==== 用作遍历对象;不能遍历数组
for (let i in abj1){
console.log(abj1[i]) //获取对象值、键
}
//=====for of==== 用作遍历数组、字符串;不能遍历对象
for (let i of arr1){
console.log(i)
}
let arr2 = []
for (let i of str1){
arr2.push(i) //字符串准换数组
}
msg.payload = arr2
return msg;
区别:
if
:多条件逻辑判断(范围、复杂条件)switch
:单变量多分支精确匹配(值明确,多分支枚举)对象和数据不建议用break
(除非刻意穿透)语法:
switch (变量、数字、字符串、表达式){
case "s":
//语句
break;
...
default:
//语句
}
示例:
let str1 = msg.payload;
switch(str1){
case "21Bap01" :
console.log("确认21Bap01?")
break
case "21Bap02" :
console.log("确认21Bap02?")
break
default:
console.log("重新选择!")
}
return msg;