[js]javascript索引
js&jq总结的还是挺棒的:
http://www.cnblogs.com/yuanchenqi/articles/5980312.html
http://www.cnblogs.com/yuanchenqi/articles/6070667.html
我学了很久没把js学会, 我发现我的路子错了, 一开始就追求大而全.....累死... 好办法应该是迭代式更新知识点....
ECMAScript(4,5) 目前学的是es5
es6其实是ECMAScript 2015.
- 前端工作的日常:
拿到ui设计图: 切图--> html+css静态布局-->js写一下动态效果
ajax和后台进行交互-->把数据绑定到页面上-->用nodejs服务平台做src管理-->
用nodejs做后台
前端开发:
html css js
后端开发:
nodejs提供resetful api
移动端开发:
前端开发 html5 css3 bootstrap angular promise websocket requre.js
后端开发 nodejs express socket.io resetful
数据库: mongodb redis mysql orm
移动开发: react react-native
- node
1.创建服务器,访问
2,区分path和query
3,返回指定html, fs模块
4,返回任意html
5.根据后缀设置content-type
// 思路: 接收请求 -- 获取后缀 -- 设置content-type -- 响应
4种输出方法 | 说明 |
---|---|
alert(confirm) | 弹出 |
document.write | 写入文档,通常页面中间插入广告 |
console.log | console |
innerHTML/innerText | 在指定元素中动态添加内容 |
浏览器(window浏览器对象) --> 文档(document对象) --> html元素
js有3部分组成:
ECMAScript(4,5): 定义了js的语法.(数据类型,基本语法,操作语句等最核心的东西)
BOM: (Window) 浏览器对象模型
DOM: (Document) 文档对象模型: 参考: http://www.cnblogs.com/iiiiher/p/7967384.html
注意: document 文档对象和BOM(浏览器对象模型)不是一回事.
// 变量命名: 区分大小写
// 定义变量:
var name = "maotai";
console.log(name);
// 数据类型:
// 数字 字符串 布尔 [] {} 正则
var num = 12;
var str = "maotai";
var boo = true;
var n = null;
var m = undefined;
var obj = {name: 'maotai'};
var arr = [1, 2, 3];
var reg = /^1\d{11}/;
var fn = function () {
}
// 数据类型分类:
// 基本数据类型: number string boolen null undefined
// 引用数据类型: 对象{} 数组[] 正则reg
// 函数数据类型
- if判断& switch语句
- 两种for循环
// 3个判断 3个循环
var num = 10;
if (num < 0) {
console.log('负数');
} else if (num > 10 && num < 10) {
console.log('1-10');
} else {
console.log('大于10');
}
num >=0?console.log("正数或0"):console.log("负数");
switch (num){
case 0:
console.log("0");
case 5:
console.log('5');
break;
default:
console.log("NaN");
}
for (var i = 0;i<10;i++){
console.log(i);
break;
}
var arr = [1,2,3,4,'maotai'];
for (i in arr){
console.log(arr[i]);
}
- innerHTML和innerText的区别
<div id="app"></div>
<script>
var app = document.getElementById("app");
app.innerText = '<h1>maotai</h1>';
// app.innerHTML = '<h1>maotai</h1>';
</script>
- innerHtml解析html标签, innnerText不解析html
- 数组的13个方法
var arr = [0, 1, 2, 3];
arr.push(4);
arr.push(5, 6);
arr[arr.length] = 7;
console.log(arr);
arr.pop();
console.log(arr);
arr.shift()
console.log(arr);
arr.unshift(0);
console.log(arr);
arr.splice(2,2); //从索引n开始删除m个
console.log(arr);
arr.splice(2); //从索引n开始删除到结尾
arr.splice(0); //清空原数组,返回原数组的每一项
arr.splice(); //数组中一项都没删除, 返回一个空数组
arr.splice(1,2,0); //从索引n开始删除m个,删除的部分用x代替
arr2 = [6,7,8];
arr1.concat(arr2); // 把arr2接到arr1后
arr2.toString(); // 将数组转换为字符串
arr.join('+'); // 数组以+为分割符
arr.reverse(); // 倒序排列
- 每一种资源文件都有自己的标识类型. 浏览器按照提供的MIME(content-type)类型渲染页面
text/plain txt
var suffix = reg.exec(pathname)[1].toUpperCase();
var reg = /\.(HTML|CSS|JS|JSON|TXT|ICO)/i;
var suffixMIME = 'text/plain';
if (reg.test(pathname)) {
switch (suffix) {
case "HTML":
suffixMIME = 'text/html';
break;
case "JS":
suffixMIME = 'text/javascript';
break;
case "CSS":
suffixMIME = 'text/css';
break;
case "JSON":
suffixMIME = 'application/json';
break;
case "ICO":
suffixMIME = 'application/octet-stream';
break;
}
}
作用域链查找规则获取值和设置值
js代码执行顺序/全局&私有变量/作用域链/闭包
js原型链继承小结
js栈内存的全局/私有作用域,代码预解释
js中4种无节操的预解释情况
js的惰性声明, js中声明过的变量(预解释),后在不会重新声明了
this关键字代表当前执行的主体
js中变量带var和不带var的区别
函数的上级作用域,他的上级作用域就是谁,跟函数在哪执行的没什么关系.
js设计模式-单例模式
js设计模式-工厂模式
js设计模式-原型模式
js设计模式-修改原型
js杂项陆续补充中...
js设计模式-构造函数模式
js设计模式小结
设计模式小结&对原型的修改
ajax-异源请求jsonp
jquery里的jsonp实现ajax异源请求
浏览器同源策略(same-origin policy)
[js]javascript索引的更多相关文章
- Atitit.js javascript的rpc框架选型
Atitit.js javascript的rpc框架选型 1. Dwr1 2. 使用AJAXRPC1 2.2. 数据类型映射表1 3. json-rpc轻量级远程调用协议介绍及使用2 3.1. 2.3 ...
- Immutable.js – JavaScript 不可变数据集合
不可变数据是指一旦创建就不能被修改的数据,使得应用开发更简单,允许使用函数式编程技术,比如惰性评估.Immutable JS 提供一个惰性 Sequence,允许高效的队列方法链,类似 map 和 f ...
- Js(javaScript)的闭包原理
问题?什么是js(javaScript)的闭包原理,有什么作用? 一.定义 官方解释:闭包是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分. 小编 ...
- 【转】Eclipse去除js(JavaScript)验证错误
这篇文章主要是对Eclipse去除js(JavaScript)验证错误进行了介绍.在Eclipse中,js文件常常会报错.可以通过如下几个步骤解决 第一步:去除eclipse的JS验证:将window ...
- thrift js javascript C# Csharp webservice
http://www.cnblogs.com/xxxteam/archive/2013/04/15/3023159.html 利用thrift实现js与C#通讯的例子 关键字:thrift js ja ...
- Atitit.js javascript异常处理机制与java异常的转换 多重catc hDWR 环境 .js exception process Vob7
Atitit.js javascript异常处理机制与java异常的转换 多重catc hDWR 环境 .js exception processVob7 1. 1. javascript异常处理机制 ...
- Atitit.js javascript异常处理机制与java异常的转换.js exception process Voae
Atitit.js javascript异常处理机制与java异常的转换.js exception processVoae 1. 1. javascript异常处理机制 1 2. 2. Web前后台异 ...
- atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97
atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97 1. 实现html5化界面的要解决的策略1 1.1. Js交互1 1.2. 动态参 ...
- Atitit. servlet 与 IHttpHandler ashx listen 和HttpModule的区别与联系 原理理论 架构设计 实现机制 java php c#.net js javascript c++ python
Atitit. servlet 与 IHttpHandler ashx listen 和HttpModule的区别与联系 原理理论 架构设计 实现机制 java php c#.net j ...
随机推荐
- Sharding-JDBC
1.官网文档:https://shardingsphere.apache.org/document/legacy/3.x/document/cn/manual/sharding-jdbc/usage/ ...
- CSS之链接
改变链接样式 当设置为若干链路状态的样式,也有一些顺序规则: a:hover 必须跟在 a:link 和 a:visited后面 a:active 必须跟在 a:hover后面 <!DOCTYP ...
- pyqt pyside QLabel 显示图片
pyqt pyside QLabel 显示图片 pixmap = QtGui.QPixmap("D:/myPicture.jpg") label.setPixmap(pixmap) ...
- Mapreduce的排序(全局排序、分区加排序、Combiner优化)
一.MR排序的分类 1.部分排序:MR会根据自己输出记录的KV对数据进行排序,保证输出到每一个文件内存都是经过排序的: 2.全局排序: 3.辅助排序:再第一次排序后经过分区再排序一次: 4.二次排序: ...
- Django & JavaScript 用Ajax实现JSON数据的请求和响应
[描述] 1.Server端定义了两个字段:Article.title 和 Article.content 2.客户端用JavaScript Ajax异步加载请求服务器的JSON数据 效果是点击按钮从 ...
- [Sublime]Sublime安装以及插件使用
安装直接去官网下载安装了 安装Package Control关于安装Package Control,有两种方法. 一.自动安装 自动安装很方便,网上代码很多.我用的是Sublime Text3,通过V ...
- Petrozavodsk Summer-2017. Warsaw U Contest
A. Connectivity 设$f[i][j]$为第$i$张图中$j$点所在连通块的编号,加边时可以通过启发式合并在$O(dn\log n)$的时间内维护出来. 对于每个点,设$h[i]$为$f[ ...
- angularjs ng-if 中的ng-model 值作用域问题
现象:最近做了一个需求,页面上使用了ng-if 条件做判断,导致通过使用 $scope 获取不到 ng-model 的值. 问题原因: ng-if这个指令单独开了一个作用域,它只可以继承,不可以进行往 ...
- CSS 使用absolute 是<div>居中
<style> .col-center-block { position: absolute; top: 50%; ...
- [LeetCode] Minimum Swaps To Make Sequences Increasing 使得序列递增的最小交换
We have two integer sequences A and B of the same non-zero length. We are allowed to swap elements A ...