web&javascript&node.js零碎

npm模块管理仓库切到阿里源

npm config set registry https://registry.npm.taobao.org/

 确认是否切换成功

npm config get registry

  

程序的启动  supervisor

修改服务器端代码后需要手动重启应用,使用supervisor 可以监听js文件,当文件有改动的时候可以

自动重启应用。

全局安装 supervisor 

npm install -g supervisor

使用supervisor 启动应用

cd bin && supervisor --harmony www

javascript  条件表达式三元操作符

var age = 34;
var all = (age > 18) ? "yes":"NO";
function make(data){
    if(data > 18){
        return true
    }else{
        return false
    }
}
var all = make(age) ? "yes":"NO";

关于一个 多重分支的判断

function make(data){
    switch(data){
        case 'zs':
        console.log('welcome  zhangsan');
        break;
        case 'li':
        console.log('welcome  LSSIII');
        break;
        case 'w':
        console.log('welcome  WWWWW');
        break;
        default:
        console.log("    ERRRRR")
    }
    
}

make('li')

对象的编辑

var obj = {
    name: "Carrot",
    "for": "Max",
    details: {
        color: "orange",
        size: 12
    }
}

console.log(obj['details']['color'])
console.log(obj.details.color)

 对象构造

function per(name,age){
	this.name = name,
	this.age = age,
	this.action = function(){
		console.log("hahaha");
	}	
}

var obj = new per('jk',18)
obj.action();
console.log(obj.name)

  

函数中的参数

function showa(){
    console.log(arguments[2])
}

showa(3,7,2,4)   打印出7   arguments 代表的是所有的参数

关于 let...of...

var a = [4,1,5,6]
for(let val of a){
    console.log(val)
}

可以遍历的有 数组&字符串& map& set 等等。

 关于数组的遍历 forEach

forEach函数回调中有3个参数

第一个是遍历的数组内容,第二个是数组索引,第三个是数组本身。

var a = [1,4,7]
a.forEach(function(value,index,arr){
  console.log(value + 'HH' + index +  'AA' + arr)
})

map 对数组的遍历同 forEach 相同。

var a = [1,4,7]
a.map(function(value,index,arr){
  console.log(value + 'HH' + index +  'AA' + arr)
})

关于函数定义中的 fucntion name(){}  和 var name = function(){} 的区别

var a = function(){
  return 4;
}
console.log(a())   // 输出 4 , 申明前置。
var a = function(){ return 5; } function a(){ return 4; } console.log(a()) // 输出5 javascript 允许函数和变量在定义之前进行引用,第二个定义覆盖了第一个引用。
function a(){ return 5; }

 关于回调函数 callback


function make(cun,callback){
if(cun > 3){
callback('yes');
}else{
callback('no');
}
}


make(1,function(s){
console.log(s)    输出 no
})
make(5,function(s){
console.log(s)    输出 yes
})

 

关于数组的一些处理

1   确定数组中是否包含特定的值。 indexOf

   如果该值存在,则返回该值在数组中的位置,如果不存在,则返回 -1

2 关于数组的批量处理

例如要将 [1,2,3] 处理为 [2,4,6]

var a = [1,2,3];
function make(data){
    return data*2;
}
var v = a.map(make);
console.log(v);

当然还有一种方法 async 的 transform 方法

var  async = require('async');

var data = [1,2,3,4];
async.transform(data, function(acc, item, index, callback) {
    process.nextTick(function() {
        acc.push(item * 2)
        callback(null)
    });
}, function(err, result) {
    console.log(result);输出 //[2,4,6,8]
});

async 对json的处理

var  async = require('async');

var data = {
    a: 1,
    b: 2,
    c: 3
}
async.transform(data, function (obj, val, key, callback) {
    setImmediate(function () {
        obj[key] = val * 2;
        callback();
    })
}, function (err, result) {
   console.log(result); //输出 {a:2,b:4,c:6}
})
console.dir()

打印出对象的所有属性和方法

生成6位数字的 验证码

console.log(('000000' + Math.floor(Math.random() *  999999)).slice(-6));

 一个评价组件

"★★★★★☆☆☆☆☆".slice(5 - rate, 10 - rate)
原文地址:https://www.cnblogs.com/jkklearn/p/6761200.html