JS 随笔
常用方法
判断undefined
typeof
的运算符未定义则返回undefined
function checkisUndefined(str) {
var st = undefined;
if (typeof (str) == "undefined") {
alert("此对象是undefined!")
} else {
alert("此对象不是ubdefined!")
}
}
判断输入的内容是否为空
function checkNullOrNotnull(st) {
var str = st;
if (typeof (str) == "undefined" || str == 0 || str == null) {
alert("内容为空!")
} else {
alert("内容不为空!")
}
}
判断输入内容长度大于一定值
function checkLength(st) {
debugger;
var lengthValue = st.length;
if (lengthValue == 0) {
alert("输入为空!")
} else if (lengthValue > 20) {
alert("长度超出20");
document.getElementById("input1").innerHtml = "";
}
}
判断输入的内容全部是空格
function checkNull(st) {
debugger;
var regu = "^[ ]+$";
var re = new RegExp(regu);
if (re.test(st)) {
alert("全是空格")
} else {
alert("不全是空格")
}
}
判断是否含有小数或者是负值
function checkXiaoshu(st) {
debugger
if (st < 0) {
alert("是负数");
return;
} else if (st.indexOf("." != -1)) {
alert("是小数")
} else if (st.indexOf("." == -1)) {
alert("不是小数")
}
}
判断以某个字符串开头
let str = "AAA_12123";
if (str.substr(0, 4) === 'AAA_') {
console.log(1);
}
if (str.substring(0, 4) === 'AAA_') {
console.log(2);
}
if (str.search("AAA_") != -1) {
console.log(3);
}
if(new RegExp("^AAA_.*$").test(str)){
console.log(4);
}
if("AAA_".match(new RegExp("^AAA_.*$"))){
console.log(5);
}
合并两个对象的值
var objOne = {a:'123',b:'123',c:'123',d:'123'}
var objTwo = {e:'123',f:'123',g:'123',h:'123'}
Object.assign(objOne,objTwo);
console.log(objOne);
console.log(objTwo);
挑选对象中符合条件的 key value
var objThree = { a: '123', b: '123', c: '123', d: '123' }
var objFour = {};
for (let key in objThree) {
if (key === "a" || key === "d") {
continue
}
objFour[key] = objThree[key];
}
console.log(objFour);
知识点
var 和 let 的区别
- 被
let
声明的变量不会作为全局对象window
的属性,而被var
声明的变量却可以 var
和 let
在函数作用域中声明一个变量,两个变量的意义是相同的。- 在块作用域中两者的区别较为明显, let只在for()循环中可用,而 var是对于包围for循环的整个函数可用
var strOne = "张三";
let strTwo = "李四";
console.log(window.strOne);
console.log(window.strTwo);