分享者:张得志、叶佳妮
今天有两个主题分享!
一、JavaScript函数中的this
叶佳妮,女,中间那个就是。
电影票标价100元,内部价优惠10元。
内部价格如何变化并不会影响对外的销售价格!
var num = 100;
function add(num){
console.log(num);
this.num = num - 10;
console.log(this.num);//内部价,变90了
}
add(num)
console.log(num) //外面看到的一直是100
PS:形参
还记得之前说到的服务员吗?
this表示这个特定的服务员,专门为你提供服务(food1)。
function Food(name1,price1) {
this.name = name1;
this.price = price1;
}
//food1是构造函数Food的实例对象,this.name=>apple
var food1 = new Food('apple',100);
console.log(food1.name);//输出apple
直接叫服务员有点太easy了,换个方式,打个电话如何?
我用电话替代了直接说!
function Food(name1,price1) {
this.name = name1;
this.price = price1;
console.log(this.name);
}
function Banana(price,product){
Food.call(this,price) // 等价于 Food(price)
this.product = product;
}
var food2 = new Banana(200,'澳洲')
重点是为什么要替代呢?好好思考一下,下次我们再聊。
二、安全保存密码(加密)
分享者:张得志
密码,我不会告诉别人,也不想让别人猜到。
通常我们设置的密码是这样的123456、11111111、88888888是不是?
这些密码就这么清清楚楚的躺在那吗?
在系统里你的密码是这样的ifuejek2837usi20fichnnvmeu227hydjsk
你可以记得下来吗
md5(你的密码+随机字符串) = 加密后的密码
这里用到了md5,一种专门用于加密的函数,很难根据加密后的数据倒推出原文。
有加密,就会有解密\破解
破解的方式大概有以下几种:
1、字典破解,像查字典一样把常用的挨个试一遍。
2、暴力破解,尝试所有的可能值,这个通常比较慢。
3、查表破解,其实相当于另一种字典破解,加密后的字典。
密码越长越没有规律,然后在增加一个随机字符串之后经过双重加密,你的密码就很安全了。
md5(md5(你的密码+随机字符串)) = 加密后的密码
PS:都是相对的