【JS】Advanced1:Object-Oriented Code
Object-Oriented Code
1.
var Person = function (name) {
this.name = name;
};
Person.prototype.say = function (words) {
alert(this.name + ' says "' + words + '"');
};
var tom = new Person("tom");
tom.say("Hello");
2.Inheritance and object-oriented programming
constructor pattern
Creating Elements
1.<div class="note">Hello</div>
.
var div = document.createElement('div');
if (
div
.textContent) { div.textContent = "Hello!"; }
else if (div.innerText) { div.innerText = "Hello!"; }
div.setAttribute('class', 'note');
document.body.appendChild(div);
2.
div.parentNode.removeChild(div);
3.
var div = $('<div/>').text("Hello").appendTo(document.body);
$('<span/>').text('Hello!').appendTo(div);
Canvas?
1.<script>
var canvas = document.querySelector('canvas'),
ctx = canvas.getContext('2d');
ctx.fillRect(top-left-corner-x, top-left-corner-y, width, height);
</script>
2.Animation??
Local Storage
1.
// Object example
localStorage.setItem('user', JSON.stringify({
username: 'htmldog',
api_key: 'abc123xyz789'
}));
var user = JSON.parse(localStorage.getItem('user'));
2.Local storage can only save strings,the object must be run through JSON.parse
on the way out of local storage.
Errors & Exceptions
1.
try {
JSON.parse("a"); // Produces a SyntaxError
} catch (error) {
// Handle the error
alert(error.message);
}
2.Creating error
throw new Error("I hungry. Fridge empty.");
Regular Expressions……
1.Used to Serarch & Match Strings to identify or replace
2.var regex=/ ^[a-z\s]+$/;
//--expression
[]--repeated one or more times
a-z--letter a to z ,lowercase
\s--white-space
$--up to end the string
3.
var lowerCaseString = 'some characters';
if (lowerCaseString.match(regex)) {
alert('Yes, all lowercase');
}
4.
var text = "Everything and nothing.";
text = text.replace(/(every|no)thing/gi, "something");
g--global flag ,match all occurrences rather then just the first
i--case-insensitive flag,did not care about uppercase &lowercase letters
Closures……
1.
var add = function (a) {
return function (b) {
return a + b;
};
};
var addFive = add(5);
alert(addFive(10));//15
var hello = add('Hello ');
alert(hello('tom'));// Hello tom
2.A function that returns a function
Node.js
1.Node is a platform for building servers in JavaScript,built on Google’s V8 JavaScript engine
Using DOM APIs are available on the other side of the client/sever divide in the form of just Node
2.Install
nodejs.org
npm(Node package Manager)
Node comes with a core set of modules, one of which is “http”, used to set up a web server
JS Apps
1.Moduarity
2.MVC
Backbone
1.Add structure to client-side applications,to avoid a spaghetti-code mess.
Backbone.js gives structure to web applications by providing models with key-value binding and custom events, collections with a rich API of enumerable functions, views with declarative event handling, and connects it all to your existing API over a RESTful JSON interface.
2.
connect model up to a view via a template which is used to indicate where the model’s data should go.
jQuery and Underscore.
Angular
1.open-source client-side JS framework that uses HTML as its templating language
Declarative programming is better than imperative programming
2.create
connects the value of the input to a model called “name”
bind to the value of the “name” model. When you update the input
, the h1
will update too.
3.build something useful
4.scope
5.dependency injection
6.smaller
【JS】Advanced1:Object-Oriented Code的更多相关文章
- 【HTML】Intermediate2:Text: AbbreviationsQuotations Code
1.</abbr> attribute:title 2.Quotations blockquote :standalone often multi-line quotations-cite ...
- 【HTML】Advanced1:Text: Time, Mark, and "Presentational"
1.Exploring the depths of HTML5 2.</time> <p>Written by Doctor Who on <time datetime= ...
- 【CSS3】Advanced1:Rounded Corners
1.Border radius The border-radius property can be used to working clockwise from top-left set border ...
- 【JS】AJAX跨域-被调用方与调用方解决方案(二)
解决跨域问题 跨域问题说明,参考[JS]AJAX跨域-JSONP解决方案(一) 实例,使用上一章([JS]AJAX跨域-JSONP解决方案(一))的实例 解决方案三(被调用方支持跨域-服务端代码解决) ...
- 【js】appendChild
appendChild主要是用来追加节点插入到最后:循环的时候由于不停的搬家导致length在改变. 使用for循环 <!Doctype html> <html xmlns= ...
- 【js】Leetcode每日一题-制作m束花所需的最少天数
[js]Leetcode每日一题-制作m束花所需的最少天数 [题目描述] 给你一个整数数组 bloomDay,以及两个整数 m 和 k . 现需要制作 m 束花.制作花束时,需要使用花园中 相邻的 k ...
- 【js】Leetcode每日一题-完成所有工作的最短时间
[js]Leetcode每日一题-完成所有工作的最短时间 [题目描述] 给你一个整数数组 jobs ,其中 jobs[i] 是完成第 i 项工作要花费的时间. 请你将这些工作分配给 k 位工人.所有工 ...
- 【js】Leetcode每日一题-数组异或操作
[js]Leetcode每日一题-数组异或操作 [题目描述] 给你两个整数,n 和 start . 数组 nums 定义为:nums[i] = start + 2*i(下标从 0 开始)且 n == ...
- 【js】Leetcode每日一题-解码异或后数组
[js]Leetcode每日一题-解码异或后数组 [题目描述] 未知 整数数组 arr 由 n 个非负整数组成. 经编码后变为长度为 n - 1 的另一个整数数组 encoded ,其中 encode ...
随机推荐
- this.Invoke和this.BeginInvoke的区别
private void button1_Click(object sender, EventArgs e) { "; this.Invoke(new EventHandler(delega ...
- centos7安装mplayer以及出现的各种问题
首先,centos7默认的视频播放器基本不能用,这里我们选择mplayer作为视频播放器. 安装的过程,痛并快乐着....... 首先我们去mplayer的官网下载需要的文件,http://www.m ...
- bzoj 1318: [Spoj744] Longest Permutation 智商题
1318: [Spoj744] Longest Permutation Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 361 Solved: 215 ...
- asp.net MVC日志插件Log4Net学习笔记一:保存日志到本地
log4net(Log For Net)是Apache开源的应用于.Net框架的日志记录工具,详细信息参见Apache网站.它是针对Java的log4j(Log For Java的)姊妹工具.用过lo ...
- Form表单学习网站
HTML表单 -- form标签 -- 与浏览者交互:http://www.dreamdu.com/xhtml/tag_form/
- SQLite入门与分析(四)---Page Cache之事务处理(3)
写在前面:由于内容较多,所以断续没有写完的内容. 11.删除日志文件(Deleting The Rollback Journal)一旦更改写入设备,日志文件将会被删除,这是事务真正提交的时刻.如果在这 ...
- 从iPhone4、iPhone5、iPhone6看手机外壳加工工艺进化史
从iPhone4.iPhone5到iPhone6,苹果为我们推出了一代又一代新产品,让我们享受到最新的科技产品.每次不只是配置上的改变,苹果在工艺上也不断改变.下面就阐述一下我对这几款手机在设计和制造 ...
- C#基础精华06(Linq To XML,读取xml文件,写入xml)
1.XML概述: 可扩展标记语言XML(eXtensible Markup Language)是一种简单灵活的文本格式的可扩展标记语言,侧重于存储数据. 2.XML特点 xml 标记语言 html x ...
- 部分常见ORACLE面试题以及SQL注意事项
部分常见ORACLE面试题以及SQL注意事项 一.表的创建: 一个通过单列外键联系起父表和子表的简单例子如下: CREATE TABLE parent(id INT NOT NULL, PRIMARY ...
- VPN column: PPTP(1)--connecting process
hu_hit原创,如需转载请注明出处.Thanks. 在未来几天会总结一下PPTP的工作过程,分为以下3篇讲述. 1. PPTP连接过程: 2. PPTP协议解析: 3. PPTP的路由. 由于我是工 ...