js---知识点积累篇

 

======================================= 正则表达式=====================================================
测试exp:http://tools.jb51.net/regex/javascript

在线生成exp:http://tools.jb51.net/regex/create_reg

. 表示任意字符

=======================================字符转数字=====================================================
1. 转换函数
parseInt("10",  2);  // returns  2
2、强制类型转换
Number(value)——把给定的值转换成数字(可以是整数或浮点数);
Number( "5.5 ")                5.5
Number( "56 ")                56

=======================================字符转数组======================================================
var arr=str.split(''); // 转为字符串数组,来遍历 ['1','4','r']

=======================================是否含有某个值===================================================
  var num=['1','2','3','4','5','6','7','8','9'];
  for(var i=0;i<arr.length;i++){   // 遍历数组
           if(num.includes(arr[i])){   // 是否包含某个数组
           }
   }
let slice=Array.prototype.slice;  // slice赋值 数组里的slice的方法
let dom=slice.call(document.querySelectorAll(selector));  // dom改为数组

 

 

 

1:数据访问篇,以angular js 中http访问数据为例

// 电池信息一览表
getBatteryInfo();
function getBatteryInfo() {
    var url= '../heu_assets/data/battery/batteryInfo.json';
    var params={
        findKey: "",
        findVal: "",
    }
    var callback=function (ret) {
        // ret=data
        vm.batteryInfo = ret.body.datas;
    }
    callAPI(url,params,1,callback);
}
// 公共api
function callAPI(url,params,type,callback) {
    var ret;
    $http({
        method: 'GET',
        url: url,
        params: params
    }).then(function successCallback(response) {

        if(response.data.retcode===1) {
            switch (type){
                case 1: // 查询
                case 2://修改
                case 3://删除
                    ret=response.data.data;
                    break;
                default:
                    ret=response.data.data;

            }
            callback(ret);
        }

        // 请求成功执行代码
    }, function errorCallback(response) {
        // 请求失败执行代码
    });
    return ret;
}

2: 判断 

0 对应布尔表达式是 false

非0 对应布尔表达式是true

 (1)  if (status ){}  if  ( !status )   { }  多个变量 2个分支   

 (2)  三目运算 语法:条件 ? 结果1 : 结果2;    status=status ?1:0   多个变量 2个分支  

 (3)switch    一个变量的不同取值。

3: 函数

1 函数说明

getBatteryInfo();
function getBatteryInfo() {
    
}

2 函数表达式

var vm = this;
vm.returnBattery = function () {
    vm.showBattery = true;
    vm.showOverall = false;
    vm.showSingle = false;
}

3:构造函数

4: for in 循环

当检测某个对象是否拥有某个属性时,hasOwnProperty 是唯一可以完成这一任务的方法
,在 for in 循环时,建议增加 hasOwnProperty 进行判断,可以有效避免扩展本地原型而引起的错误。

js中存在2种访问对象的方式 

(1)对象名.属性名                                    对象名.方法名()

(2)对象名["属性名"]                        对象名["方法名"]()

 

 1     var obj = {
 2                name : "小明",
 3                age : 18,
 4                say : function(){
 5                    console.log("我是"+this.name+"我"+this.age+"岁");
 6                }           
 7         };
 8         console.log(obj.name);
 9         console.log(obj["name"]);
10         obj.say();
11         obj["say"]();

对于已经存在的属性和方法,用.和用[]得到的结果一致、

对于不存在(未定义)的属性和方法,用.会创建这个新的属性或方法,而用[]的方式访问不会创建新的属性或方法

var obj = {
   'name': '彭湖湾',
   'job': '学生'
}
for(item in  obj){
       if(obj.hasOwnProperty(item)){
        console.log("++++++++++",item);  // name job 
        console.log("++++++++++",obj[item]);  "澎湖湾" '学生'
        console.log("++++++++++",obj.item); "undefined" 'undefined'   // .方法是声明对象的属性,,但是未初始化
        copyObj[item]=obj[item]
       }
   }

5: indexOf()

indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
如果要检索的字符串值没有出现,则该方法返回 -1

6:数组过滤

var arr=[45,2,3,4];
filterArr(arr);
function filterArr(arr) {
    var _arr=arr.filter(function (item) {
        return  item>=9;
    });
    console.log("++++++",_arr);
    return _arr;
}

7:数组串化

http服务传参数时,没有参数类型,只是文本。什么数组类型都是js的,所有要将一个数值作为http服务的参数时,要将数组类型转化为字符串类型,值与值之间用逗号隔开。areaId.toString();方法,将数组转化成用逗号隔开的串

不合格的:
var queryParams = {
    areaId: vm.willDeleteDriverIds,
};
console.log(queryParams);

合格的:
var queryParams = {
    areaId: vm.willDeleteDriverIds.toString(),
};
console.log(queryParams);

 

 

标准的

 

一个字段多个值时:

补充:数组串化的方法;

9:动态加载js脚本:

https://blog.youkuaiyun.com/liupeifeng3514/article/details/79006879

10:字符串替换 stringObject.replace(regexp/substr,replacement)

在js中字符串全部替换可以用以下方法:str.replace(/需要替换的字符串/g,"新字符串")

比如:  "yyyy-MM-dd-hh-mm-ss".replace(/-/g,"/")  // 把这个串里的-全部替换为/

结果如下: "yyyy/MM/dd/hh/mm/ss"

补充:

var str2 = str.replace(/\s/g, '%20');  //js匹配空格\s

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值