jenkiHuang


  • 首页

  • 归档

  • 站点地图

Javascript apply与call实现继承

发表于 2015-06-27 | 分类于 frontend

call、apply的作用就是借别人的方法来调用,就像调用自己的一样。

首先apply与call用法与实现的功能是一样的,只是两者调用的时候传递的参数不同。

Function.apply(obj,args),

obj:这个对象将代替Function类里this对象,

args:这个是数组,它将作为参数传给Function(args–>arguments)。

Function.call(obj,[param1[,param2[,…[,paramN]]]]),

obj:这个对象将代替Function类里this对象,

params:这个是一个参数列表。

两者的主要作用是:替换掉当前执行方法的this对象,从而实现继承,或者修改方法内部的this对象。

阅读全文 »

Javascript prototype实现继承

发表于 2015-06-27 | 分类于 frontend

前面讲过使用apply与call实现继承,使用prototype原型的方式也可以实现javascript的继承。

apply的继承实际上是this对象劫持的方式实现的,直接把当前对象替换成父类对象中的this。而prototype是通过原型链的方式继承,通过把父类的方法属性克隆给子类。

下面是实例代码:

Person类:

1
2
3
4
5
6
7
8
function Person(name,age){
  this.name = name;
  this.age = age;
}

Person.prototype.showName = function(){
  console.log("my Name is: " + this.name);
}
阅读全文 »

Javascript 使用Base64编码

发表于 2015-06-26 | 分类于 frontend

Javascript使用 window.btoa() 可以很方便的将字符串进行Base64编码,使用 window.atob() 可以将Base64字符还原成原始字符串。
但是此方法在IE浏览器上的兼容有限,必须在IE10及以上才行。FireFox及Chroem只要不是太古老的版本都支持。小小的鄙视一下IE浏览器。
下面是演示效果:

1
2
3
4
5
6
7
8
9
var str = 'jenkiHuang.com';
var btoaStr = window.btoa(str);
var atobStr = window.atob(btoaStr);

console.log("StrToBase64:" + btoaStr);
//结果:StrToBase64:amVua2lIdWFuZy5jb20=

console.log("Base64ToStr:" + atobStr);
//结果:Base64ToStr:jenkiHuang.com

Base64就是用来将非ASCII字符的数据转换成ASCII字符的一种方法。
Base64编码后的字符串,更适合不同平台、不同语言之间的传输。

Wamp 集成环境下Ip远程访问

发表于 2015-06-24 | 分类于 php

今天准备做一个手机端功能的交互界面,这时候需要在手机上调试。尽管可以使用Chrome的手机预览功能,但那个并不严谨,毕竟还是手机展示出真实的效果才能做到更好的兼容。

如果想要在手机上调试,那肯定需要有一个Web服务并且可以提供远程访问。刚好电脑上面之前就已经搭建好了Wamp集成环境的本地服务器,把所有的前端代码放到服务器的www目录。Wamp是一个纯傻瓜式安装,没有什么技术难度可言,但是一个好的服务器与它的配置是分不开的。

就像今天,成功启动服务启后,在本地localhost可以直接访问项目,使用本机Ip地址的方式也可以访问。但就是不能远程通过手机或者其他机器访问。

阅读全文 »

jQuery 重复绑定click事件的解决方法

发表于 2015-06-23 | 分类于 frontend

今天在写一个弹出窗口的插件时,在插件里面增加了一个回调函数。在插件功能执行完之后,给开发人员进行后续处理。例如,在回调函数里面进行界面的交互操作,其中一个操作就是点击事件。

下面是回调函数的主要代码:

1
2
3
4
5
6
7
8
9
var openwd = $("#openwd");
$("#open").on("click",function(){
openwd.owshow({"callback":function(){
$("#wdok").on("click",function(){
console.log("确定");
openwd.owhide();
});
}});
});
阅读全文 »

修改Webkit内核的滚动条外观

发表于 2015-06-08 | 分类于 frontend

浏览网页的时候有没有觉得浏览器自带的滚动条很丑?特别是IE浏览器,完全没有美感可言。当我们看到某些网站使用自定义滚动条,有没有觉得很高端的样子,同时也美观很多。

如果说要兼容所有浏览器的滚动条外观修改,目前来说有点不现实。主要是各个浏览器厂商对新技术的支持程度不一。Webkit内核的浏览器支持所有overflow属性的滚动条样式修改,下面我们使用Css3语言的伪元素与伪类来修改Webkit浏览器滚动条外观。

下面是要修改的主要属性:

阅读全文 »

高德地图定位

发表于 2015-05-28 | 分类于 frontend

根据传入指定的地址,使用高德地图在地图上进行定位。在使用高德地图前需要先申请开发者Key。
下面添加容器标签:

1
<div id="mapContainer"></div>

引用高德地图js,把key字段替换成自己申请的key:

1
<script type="text/javascript" src="http://webapi.amap.com/maps?v=1.3&key=高德Key"></script>

下面为主要调用代码,可能直接替换掉需要搜索的地址:“长沙五一广场”。

阅读全文 »

Ubuntu 不重启修改时区

发表于 2015-05-22 | 分类于 linux

今天在查看多台服务器时间的时候发现多台机器时区不同,有的是HKT,有的是CST。而且多台服务器的时间不同步,导致出现多种问题。
于是搭了个 Ntp 服务器,下面讲一下如何在不重启机器的情况下修改时区。
生产机器往往是不能随便进行重启操作的,所以有时候的修改必须是实时的。
时区的修改不能像其他操作一样使用source命令刷新。
但是可以使用以下方法实现

1
2
3
4
5
6
7
8
cp /usr/share/zoneinfo/Asia/Hong_Kong /etc/localtime

//将时间写入主板
hwclock

//查看时间
date
Sat May  9 11:31:27 HKT 2015

其中的HKT就是我们刚才修改的Hong_Kong的时区,说明刚才的修改成功。

Ubuntu 搭建Ntp服务器

发表于 2015-05-19 | 分类于 linux

当做系统集成有多台服务器的时候,多台机器间的时间同步是很有必要的。这时候就可以用到Linux的Ntp服务。
首先选一台机器做为Ntp的服务端(control),并安装好Ntp服务。其他节点(node)同样也需要安装Ntp服务,只是 node 节点配置文件的server值指向 control 的ip地址即可。

1
sudo apt-get install ntp

修改ntp配置文件。一般情况下服务端的ntp配置文件不需要做什么修改,除非有特殊要求。
ntp的配置文件位于“/etc/ntp.conf”位置。

阅读全文 »

Ubuntu Server安装图形界面

发表于 2015-05-12 | 分类于 linux

在安装了Ubuntu Server的系统上安装图形界面,有时候特别是在做测试开发的时候,有图形界面操作起来更方便,或者更容易找出出错的具体信息。

例如做Kvm虚拟化的时候,在Server系统下,虚拟机出错导致不能启动系统,这时候Ssh是不能连接虚拟机的,所以有时候图形界面还是能起到一定的作用。

在Ubuntu Server下安装图形界面很简单,但是需要下载将近500M的数据,其实就是把Ubuntu Desktop版的数据下载下来安装。

1
sudo apt-get install ubuntu-desktop

具体下载时候根据你的网速来看,建议使用国内的镜像源,这样下载速度可能更快。

阅读全文 »
1…345

jenkiHuang

50 日志
3 分类
9 标签
Links
  • jenkiHuang
  • 张鑫旭
  • 淘宝UED
  • 腾讯前端
  • 前端观察
  • 前端乱炖
© 2020 jenkiHuang
由 Hexo 强力驱动
|
主题 — NexT.Pisces v5.1.4