javascript

1、js中的日期和时间,我是链接

2、浏览器存储方案,链接;

https://developer.mozilla.org/en-US/docs/Web/JavaScript/A_re-introduction_to_JavaScript

js按照对象属性排序方法

var arr = [
    {name:'zopp',age:0},
    {name:'gpp',age:18},
    {name:'yjj',age:8}
];

function compare(property){
    return function(a,b){
    	//console.log(a);
        var value1 = a[property];
        var value2 = b[property];
        return value1 - value2;
    }
}
console.log(arr.sort(compare('age')))

js中创建数组的3中方式

2020-01-11

使用百度地址中的infowindow进行标注点信息展示时,需要加入点击事件处理,

找到一个别人的实现,记录一下:

百度的api地址:http://lbsyun.baidu.com/jsdemo.htm#d0_2

https://blog.csdn.net/qq_41588568/article/details/91552752

let this_point = this;
content = `<input  type="button" id="btn1" value="取消" style=" 100px;height:30px;margin-top: 20px;margin-left: 120px;">`;

var infoWindow = new BMap.InfoWindow(content, opts); // 创建信息窗口对象
                    map.openInfoWindow(infoWindow, pointAA); //开启信息窗口

if (!infoWindow.isOpen()) {
                            infoWindow.addEventListener("open",function(e){
                                document.getElementById('btn1').onclick = function() {
                                    this_point.gotoViewDetail(mapData[i].id);                            
                                }
                            });
                        } else {
                            let btn = document.getElementById('btn1');
                            btn.onclick = function() {
                                console.log("infowindow debug2***");
                                this_point.gotoViewDetail(mapData[i].id);                            

                            };
                        }

js使用除法时去保留整数处理  

在chrom地址栏中输入:

data:text/html,hello
data:text/html,<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>

就可以不用写html,直接使用引用的js文件

axios,fetch,ajax使用简单示例

webpack配置文件包括的基本元素

const path = require('path')
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');

module.exports = {
  entry: "./src/index.js",
  output:{
    path: path.resolve(__dirname,'dist'),
    filename:'main.js'
  },
  optimization: {
    minimizer: [new UglifyJsPlugin()],
  },
 //加载器 module:{ rules:[ { test:
/.css$/, use:[ {loader:'css-loader'} ] } ] } }

 Promise与async/await

new Promise((resolve,reject)=>{
  setTimeout(function(){resolve(123)},1000)
}).then(res=>console.log(res));

setTimeout(function(){console.log(123)},1000)

var p1 = ()=>new Promise((res,rej)=>setTimeout(()=>res(12345),1000))

//async+await是promise+then的语法糖
//解决回调嵌套
//需要注意awati只能拿到resolve中返回的值,程序异常返回的值时拿不到的
async function q1(){
  var res = await p1();
  console.log(res)
}

function q1(){
  p1().then(res=>console.log(res))
}

/*
1 then的传递性:promise().then(x=>y).then(z=>z) 这里第二个then的输入参数z就是上一个then返回值传递过来的y。

2 then传递时的变化: 如果上面y是个promise,则z是promise执行完只有的结果(resolve中的结果)!!!!

上面解释了fetch().then(res=>res.text()).then(data=>console.log(data))。这里面res.text()得到的是个promise,所以传到下一个then中的data会被'偷偷'解析成运行完的结果。
*/
fetch('/').then(res=>res.text()).then(data=>console.log(data.length))
fetch('/').then(res=>console.log(res.text()))

我是下面代码出处

/*
dfs(深度遍历)算法
*param p 原始数组
*param pb 是否已经遍历
*param level 遍历的层次
*param res 保存遍历结果的数组
*/
function dfs(p,pb,level,res){
  //1、截止条件
  if (level == p.length + 1) {
    console.log(res.join(""));
    return;
  }

  //2 遍历候选节点
  for (var i = 0; i < p.length; i++) {
    var c = p[i];
    //2.1筛选
    if (!pb[i]){
      res.push(c);
      pb[i] = true;
      dfs(p,pb,level+1,res);
      res.pop();
      pb[i] = false;
    }
  }
}


var p = ['a','b','c']
var pb = [false,false,false]

dfs(p,pb,1,[])

 chrome console中引用外部js,如loadash.js

var script = document.createElement('script');
script.src = "https://cdn.bootcdn.net/ajax/libs/lodash.js/4.17.15/lodash.min.js";
document.getElementsByTagName('head')[0].appendChild(script);

3个点(…)作用

三个点用于传参时可以看作是Rest参数的逆运算,将一个数组转为用逗号分隔的参数数组,就是说将参数数组展开了传入函数中。

  

原文地址:https://www.cnblogs.com/zhucezmf/p/11357647.html