JavaScript面向对象详解二:模式

对象的创建: 1 创建一个对象 var obj = new Object(); obj.name = 'haha'; obj.showName = function(){ alert(obj.name); } obj.showName(); 缺点:当我们想创建多个面向对象的时候,重复代码过多,需要封装,所以有了工厂方法。   2 工厂方式 function CreatePerson(name){ var obj = new Object(); //原料 obj.name = name; //加工 obj.showName = function(){ alert(this.name); }

在浏览器控制台console运行javascript, console引入外部js文件, chrome浏览器调试,火狐浏览器调试

在chrome浏览器中执行javascript chrome浏览器中包含了开发者工具,chrome浏览器可谓是非常的强大啊,在chrome浏览器上F12就可以打开开发者模式。如下图所示: 下面给大家简单演示一下使用jquery登陆csdn,首先打开csdn的登陆页面,然后打开开发者工具,在控制台执行如下命令即可。 javascript:$("#username").val("你的用户名称");$("#password").val("你的密码");$("#fm1").submit(); 简单说明一下该脚本 javascript说的是在该页面上执行javascript脚本,我使用的是jquery,所以也就是打开的网页上必须包含了jquery的库,如果不包含的话是执行不了这个脚本的。因为CSDN网站也使用了jquery了,所以我们是可以直接在该网站上执行该脚本的。 $(“#username”) 使用jquery的选择器选中用户名的输入框,val(“用户名”),指定用户名称 同理,$(“password”)也是一样的。 $(“#fm1”)是选中表单,submit()是jquery提供的提交表单的函数,相当于点击了确定按钮。于是将该命令行在命令控制台执行就可以实现自动登陆CSDN了。 ——————— chrome浏览器console控台引入外部js文件 chrome浏览器console控台引入外部js文件如 <script src="https://cdn.jsdelivr.net/npm/sockjs-client@1/dist/sockjs.min.js"></script> 在console中输入: var script = document.createElement('script'); script.src = "https://cdn.jsdelivr.net/npm/sockjs-client@1/dist/sockjs.min.js"; document.getElementsByTagName('head')[0].appendChild(script); 则在控制台中引入sockjs.min.js文件成功   本文:在浏览器控制台console运行javascript, console引入外部js文件, chrome浏览器调试,火狐浏览器调试… Read More

JavaScript面向对象详解一:原理

概述 JavaScript中的面向对象是基于原型链来实现的,这不同于其他语言复制拷贝的方式。我觉得原型链的好处是节约内存,提高性能,缺点可能就是不那么容易理解。 下面我们就来循序渐进的通过原型链,来理解JavaScript中的面向对象。 面向对象的概念是为了解决什么问题? 如果我们想创建一个具有一定功能的集合,在JavaScript中我们可以这样写: var Animal = { name: 'kitty', sleep: function(){ console.log(this.name + " is sleeping"); } }; 即通过对象的形式,将一些属性(如name)或方法(如sleep)包装在一起,这样就形成了逻辑上的集合。 但是如果我们想再创建一个类似的对象呢?最直接的方式是这样: var Animal = { name: 'kate', sleep: function(){ console.log(this.name + " is sleeping");

javascript 获取url参数, Get URL Parameters With JavaScript

  有个url如下: http://example.com/?product=shirt&color=blue&newuser&size=m 我们该如何获取from这个参数的值呢?   方法一: function getAllUrlParams(url) { // get query string from url (optional) or window var queryString = url ? url.split('?')[1] : window.location.search.slice(1); // we'll store the parameters here var obj = {}; // if query string… Read More

jQuery 插件:创建可折叠行的table, jQuery To Create Collapsible Bootstrap Tables – Bootstrap TreeFy

直接下载:jQuery-Plugin-To-Create-Collapsible-Bootstrap-Tables-Bootstrap-TreeFy 用法: 1. 引入 jQuery library 和 the jQuery Bootstrap TreeFy <link rel="stylesheet" href="dist/css/bootstrap-treefy.css"> <script src="//code.jquery.com/jquery-1.11.3.min.js"></script> <script src="dist/bootstrap-treefy.js"></script> 2. 引入字体和必要的图标 the Font Awesome for expand / collapse icons. <link rel="stylesheet" href="font-awesome.min.css"> 3. 创建 Bootstrap 的多行表格 <table class="table table-striped" id="table"> <thead>… Read More

Google Apps Script: 最流行和最实用的Google脚本, Google Apps Script常见脚本

Google脚本提供对大多数Google产品的编程访问,包括Gmail,Google文档,Google云端硬盘,分析,Google通讯录,日历,地图和Google Analytics。Google脚本使用常规JavaScript语言编写,并托管在Google服务器上。   最实用的Google Apps脚本 这是一个经常更新的Google脚本集合,可以帮助您更好地使用自己喜欢的Google产品。而且您不必是程序员就可以使用这些脚本中的任何一个。 文件权限资源管理器 – 查看谁有权访问Google云端硬盘中的共享文件和文件夹,以及他们是否可以查看或编辑权限。 Google表单文件上传 – 您可以通过HTMLService创建的HTML表单直接从您的Google云端硬盘接收文件。 与Gmail合并邮件 – 使用Gmail合并插件向您的联系人发送个性化电子邮件。 发送至Google云端硬盘  – 您可以使用“ 保存电子邮件”插件将您的电子邮件和Gmail附件直接保存到Google云端硬盘。 转发和收藏的机器人 – 另一个用谷歌脚本编写的Twitter机器人将自动转发匹配的推文。 Gmail自动回复  – 使用预先编写的电子邮件模板回复Gmail中的一封或多封电子邮件。 网站正常运行时间监控  – 当您的网站出现故障时接收即时电子邮件和短信提醒 您可以免费监控所有网络域名。 Amazon Price Tracker – 跟踪您在亚马逊上最喜欢的产品的价格,并在价格下降或上涨时收到电子邮件提醒。 Gmail取消订阅者 – 自动取消订阅邮件列表和批量电子邮件中的电子邮件地址。 阅读Gmail中的收据 – 使用Apps脚本和Google… Read More

Ubuntu: Apache使用Let’s Encrypt, 本地服务器安装TLS/SSL认证, 免费的SSL

下面介绍设置Let’s Encrypt使用免费的TLS/SSL认证,系统为Ubuntu 14.04运行Apache服务。我们也会介绍怎么进行认证更新。 要求: Ubuntu 14.04,Apache服务器一个 正确配置的域名一个 第一步:安装git 更新软件列表缓存: sudo apt-get update 安装git,用来下载Let’s Encrypt客户端: sudo apt-get install git 第二步:下载Let’s Encrypt客户端 在github的官方仓库中下载Let’s Encrypt。现在它处于beta阶段,还在不断更新中。 clone到/opt: sudo git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt 下载目录如下: 第三步:设置SSL认证 cd /opt/letsencrypt 执行交互式安装脚本,把example.com替换为你的域名: ./letsencrypt-auto --apache -d example.com 如果有子域名可以使用如下命令: ./letsencrypt-auto --apache… Read More

Memcached数据库管理, 基于Web的Memcached管理工具:phpMemAdmin

phpMemAdmin是一个采用PHP开发,能够能在Web中展示和修改存储在Memcached中数据的工具。 特性 提供详细的统计数据,图表和图形 Memcached数据管理(支持CRUD操作) Memcachedcluster 健康仪表盘 Memcachedhost 仪表盘 更新检查 漂亮和舒服的UI 简洁和良好的文档代码 响应式和移动设备支持 截图 Cluster Dashboard Host Dashboard Data Management   项目主页:http://www.open-open.com/lib/view/home/1423552184404   使用   环境要求: PHP >= 5.3 (compatible up to version 5.6 – but not compatible with hhvm) 已安装 … Read More

php-webdriver:PHP控制浏览器动作, php web驱动, PHP实现自动化, php webdriver 教程, A php client for webdriver.

  项目地址:https://github.com/facebook/php-webdriver   一、技术选型   php + facebook/webdriver + selenium Selenium是一套完整的Web应用程序测试系统,它提供了一系列的操作浏览器的 API webdriver 是 facebook 开发的一套 selenium API 的客户端组件,使用 composer 作为依赖管理工具。 二、环境搭建   php 的开发环境 webdriver 使用 composer 做依赖管理,所以需要安装 composer selenium-server 需要 java 运行环境 环境配置自己搞定,很简单,这里就不做赘述了。 三、开始使用   安装 php-webdriver #… Read More

复制网站内禁止复制的文字, 破解站内禁止复制的内容,终极破解禁止的文章

  上网或工作的时候,看到一些文章大家可能想复制或是收藏起来,但是当你要复制的时候却发现,根本复制不了,被网站做复制限制了,右键也给禁了。这可怎么办呢?正所谓,万物皆可破,在这里给大家介绍一个简单的方法,因为本人用的是Chrome浏览器,所以在此介绍下Chrome下如何复制的方法。 1,在你要复制文字的页面,按F12,选择“ Console” 输入:document.body.innerText 然后按回车 2,红色矩形框中的文字就是你所获得的文字了。然后你就可以任意复制你需要的文字了。   关于代码:document.body.innerText   //获取并输出body>…/body>之间的文本   本文:复制网站内禁止复制的文字, 破解站内禁止复制的内容,终极破解禁止的文章… Read More

Linux:使用Clonezilla(再生龙)对硬盘进行镜像和克隆, Linux界的ghost

Clonezilla是一个用于Linux,Free-Net-OpenBSD,Mac OS X,Windows以及Minix的分区和磁盘克隆程序。它支持所有主要的文件系统,包括EXT,NTFS,FAT,XFS,JFS和Btrfs,LVM2,以及VMWare的企业集群文件系统VMFS3和VMFS5。Clonezilla支持32位和64位系统,同时支持旧版BIOS和UEFI BIOS,并且同时支持MBR和GPT分区表。它是一个用于完整备份Windows系统和所有安装于上的应用软件的好工具,而我喜欢用它来为Linux测试系统做备份,以便我可以在其上做疯狂的实验搞坏后,可以快速恢复它们。 Clonezilla也可以使用dd命令来备份不支持的文件系统,该命令可以复制块而非文件,因而不必在意文件系统。简单点说,就是Clonezilla可以复制任何东西。(关于块的快速说明:磁盘扇区是磁盘上最小的可编址存储单元,而块是由单个或者多个扇区组成的逻辑数据结构。) Clonezilla分为两个版本:Clonezilla Live和Clonezilla Server Edition(SE)。Clonezilla Live对于将单个计算机克隆到本地存储设备或者网络共享来说是一流的。而Clonezilla SE则适合更大的部署,用于一次性快速多点克隆整个网络中的PC。Clonezilla SE是一个神奇的软件,我们将在今后讨论。今天,我们将创建一个Clonezilla Live USB存储棒,克隆某个系统,然后恢复它。 Clonezilla和Tuxboot 当你访问下载页时,你会看到稳定版和可选稳定发行版。也有测试版本,如果你有兴趣帮助改善Clonezilla,那么我推荐你使用此版本。稳定版基于Debian,不含有非自由软件。可选稳定版基于Ubuntu,包含有一些非自由固件,并支持UEFI安全启动。 在你下载Clonezilla后,请安装Tuxboot来复制Clonezilla到USB存储棒。Tuxboot是一个Unetbootin的修改版,它支持Clonezilla;你不能使用Unetbootin,因为它无法配合工作。安装Tuxboot有点让人头痛,然而Ubuntu用户通过个人包归档包(PPA)方便地安装: $ sudo apt-add-repository ppa:thomas.tsai/ubuntu-tuxboot $ sudo apt-get update $ sudo apt-get install tuxboot 如果你没有运行Ubuntu,并且你的发行版不包含打包好的Tuxboot版本,那么请下载源代码tarball,并遵循README.txt文件中的说明来编译并安装。 图1: 在USB存储棒上为Clonezilla创建分区安装完Tuxboot后,就可以使用它来创建你精巧的可直接启动的Clonezilla USB存储棒了。首先,创建一个最小200MB的FAT 32分区;图1(上图)展示了使用GParted来进行分区。我喜欢使用类似“Clonezilla”这样的标签,这会让我知道它是个什么东西。该例子中展示了将一个2GB的存储棒格式化成一个单个分区。 然后,启动Tuxboot(图2)。选中“预下载的(Pre-downloaded)”然后点击带省略号的按钮来选择Clonezilla文件。它会自动发现你的USB存储棒,而你需要选中分区号来确保它找到的是正确的那个,我的例子中是/dev/sdd1。点击确定,然后当它完成后点击退出。它会问你是否要重启动,不要担心,现在不用重启。现在你有一个精巧的便携式Clonezilla USB存储棒了,你可以随时随地使用它了。 图2: 启动Tuxboot 创建磁盘镜像… Read More

在PHP中使用memcached提高动态网站性能, memcached, memcache, memcached数据库缓存类

  确认是否已经安装memcached:Verify Installation php -m | grep memcached   视频:   memcached 函数 看官网:http://php.net/manual/zh/book.memcached.php Memcached — Memcached类 Memcached::add — 向一个新的key下面增加一个元素 Memcached::addByKey — 在指定服务器上的一个新的key下增加一个元素 Memcached::addServer — 向服务器池中增加一个服务器 Memcached::addServers — 向服务器池中增加多台服务器 Memcached::append — 向已存在元素后追加数据 Memcached::appendByKey — 向指定服务器上已存在元素后追加数据 Memcached::cas — 比较并交换值 Memcached::casByKey —… Read More

Google Cloud: 转移数据到固态ssd硬盘, Change Google Compute/Cloud Server to SSD Persistent Disk

以下步骤即可: 将原来的实例做一个快照 Snapshot Instance 创建一个ssd固态硬盘实例,在选项中,选择刚刚克隆的快照 Clone Instance (using snapshot – create SSD drive) 转移静态IP,或者新建静态IP Move over static IP to clone. 检查程序是否运行正常 Check everything is working and eventually delete original instance     本文:Google Cloud: 转移数据到固态ssd硬盘, Change Google Compute/Cloud Server to… Read More

jQuery: 选择器包含特殊字符,选择器包含括号,jQuery selector for inputs with square brackets in the name attribute

  看以下代码,一目了然: Per the jQuery documentation, try this: $('input[inputName\\[\\]=someValue]') [EDIT] However, I’m not sure that’s the right syntax for your selector. You probably want: $('input[name="inputName"][value="someValue"]')   本文:jQuery: 选择器包含特殊字符,选择器包含括号,jQuery selector for inputs with square brackets in the name attribute… Read More