// 类型转换标签:function,11,01,console,log,基础,JS,str,var From: https://www.cnblogs.com/MirPaul/p/17794642.html
var x = '11';
console.log(parseInt(x));
var y = 11;
console.log(String(y));
var i = 11.11;
console.log(parseInt(i));
//字符类型
var str = "Jason | is | DSB";
console.log(str.length); //返回长度
console.log(str.trim()); //移除两边空白
console.log(str.trimLeft());
console.log(str.trimRight());
console.log(str.charAt(5)); //返回第n个字符
console.log(str.concat('OLO')); //拼接
console.log(str.indexOf(str, 1));
console.log(str.substring(1, 3)); // 根据索引获取序列
console.log(str.slice(0, 5,)); // 切片
console.log(str.toLowerCase()); // 小写
console.log(str.toUpperCase()); // 大写
console.log(str.split('|')); // 切割
// 布尔值
// true flase null undefined NaN
// 对象 --数组
l = [11, 22, 33, 44, 55, 66, 77, 88];
l.push(99); // append
l.pop(); // 不填就默认pop最后一个元素
l.unshift(); // 往列表头部添加元素
l.shift() // 删除数组的第一个元素
l.slice(0, 3); //删除元素1, 2, 3
l.reverse(); // 列数组反转
l.sort(); // 排序
console.log(l.join("$")); // 将$符号拼接到数组的每个元素后面
l.concat([01, 02, 03]); // 拼接数组, extend
//数组中三个比较重要的方法
var l = [11, 22, 33, 44, 55, 66, 77];
l.forEach(function(value, index, arr) {
console.log(value, index, arr) // value:元素 index: 索引 arr:元素的数据来源
}, l);
l.splice(0, 3) // 删除索引1, 2, 3. 第一个是起始位置, 第二个是删除的个数
l.splice(0, 1, 444) // 第三个是删除后添加的元素
l.splice(0, 3, [11, 22, 33]) // 先删除后添加
l.map(function(value, index, arr) {
console.log(value, index, arr) // value:元素 index: 索引 arr:元素的数据来源
,l;
})
//算术运算符
var x = 10;
var res1 = x++;
var res2 = ++x;
res1 10
res2 12
// ++表示自增1 类似于 +=1
// 加号在前先加后赋值 加号在后先赋值后加
//比较运算符
1 == '1' //弱等于 内部自动转换成相同的数据类型比较了
true
1 === '1' //强等于 内部不做类型转换
1 != '1'
false
1 !== '2'
true
//逻辑运算符
//python中 and or not
//js中 && || !
5 && '5'
'5'
0 || 1
1
!5 && '5'
false
"""
一定要注意到底什么时候返回的是布尔值 什么是返回的是数据
按照后端逻辑理解吧 js这块看看就行了
"""
//流程控制
var age = null;
if(age > 18) {
console.log('come on bady')
}
else if(age > 24) {
console.log('inside')
}
else{
console.log('goto go on');
}
var num = 2;
//提前列举好可能出现的条件和解决方式
switch(num) {
case 0:
console.log('0');
break;
case 1:
console.log('1');
break;
case 2:
console.log('2');
break;
case 3:
console.log('4');
break;
case 4:
console.log('5');
break;
default: // 条件都没匹配上, 默认走的流程
console.log('default');
}
var l = [11, 22, 33, 44, 55, 66, 77];
for(let i=0; i<l.length; i++) {
console.log(l[i]);
};
for(let i=1; i<=9; i++){
let row = '';
for(let j=1; j<=i; j++){
row += `${j} * ${i} = ${i * j}\t`;
}
console.log(row);
};
var i = 0;
while (i < 100) {
console.log(i);
i++;
if (i == 95) {
console.log("object");
break;
};
};
function func1(a, b){
console.log(a ** b);
};
func1(75, 5);
function func2(a, b) {
// arguments 获取函数接收到的参数
console.log(arguments);
console.log(a, b);
};
function func3(a, b) {
if (arguments.length < 2) {
console.log("传少了");
}
else if (arguments.length > 2) {
console.log('传多了');
}
else {
console.log("正常执行");
}
};
function index () {
//只能拿到最后一个返回值
return 888, 666, 444;
}
console.log(index());
//匿名函数
var res = function() {
console.log('匿名函数');
}
//箭头函数 等号左边是形参, 右边是返回值
var func1 = v => v;
console.log(func1);
// 等价于
var func1 = function(v) {
return v;
}
var func2 = (arg1, arg2) => arg1 + arg2
var func2 = function(arg1, arg2) {
return arg1 + arg2;
}
//函数的全局变量与局部变量
var city = "BEIJING";
function f1() {
var city = "SHANGHAI";
function innder() {
var city = "SHENZHEN";
console.log(city);
}
inner();
}
//对象 --字典
let dic = new Object();
dic.name = "Jason";
dic.pwd = "123";
//日期对象
let d = new Date();
d.getDate();
d.getDay();
d.getMonth(); // 只能获取到11
d.getFullYear(); // 获取完整的年份
d.getHours();
d.getMinutes();
d.getSeconds();
d.getMilliseconds();
d.getTime();
d.toLocaleString();
//JSON对象
//JSON.stringfy()--dumps JSON.pares()--loads
let d7 = {'name':'jason', 'age':18};
var a = JSON.stringify(d7);
var b = JSON.parse(d7);
console.log(a, b);
// RegEXP对象
// 第一种
let reg = new RegExp('^[a-zA-Z][a-zA-Z0-9]{5,11}');
// 第二种
let reg1 = /^[a-zA-Z][a-zA-Z0-9]{5,11}/;
reg1.test('egondsb');