一、基础
1、在firbug调试器的控制台输出内容。
function(){
console.log()
}
2、argument。没有形参也可表示传进来的参数,用数组表示,如argument[0],argument[1]
3、函数自调用。
function get(){
if(n==1)
return 1;
return n*arguments.callee(n-1);
}
4、匿名函数执行。
(function(){
console.log(“hello”);
})();
//它还可以传形参,如:(function(title){ console.log(“hello”+title); })(“我是形参”);
//这相当于
var get = function(){
console.log(“hello”);
};
get();
匿名函数好处:程序代码没有停顿,立即执行,可以避免变量污染,比如jquery框架,就是个很大的匿名函数自调用。
5、全局变量。
function f1(){
subject =”hello”; //函数内部也能声明全局变量,但需要调用一下函数才管用
}
f1();
console.log(subject);

6、数组赋值。

比如:animal[‘mm’] = “apple”; animal.north = “wolf”;

7、数组遍历。

for(var 下标变量 in 数组/对象)  如:
for (var k in animal){
console.log( animal [k] );
}
8、eval(“字符串”)。
运行字符串里的js代码,字符串内容必须符合js语法规则。eval()主要用于把其他用户传递过来的字符串信息转变为js的实体(对象、数组等),比如把接口返回的内容转为对象。
 
二、DOM
1、获取节点属性。
如:获取一个input标签的节点属性值
var nm = document.getElementsByTagName(‘input’)[0];
function f1(){
console.log(nm.type);
console.log(nm.name);
console.log(nm.value);
console.log(nm.class); //class是js的关键字,需要变形为className操作:nm.className
}
2、attributes。
console.log(nm.attributes); //以类似json格式返回对应节点内部的全部属性节点信息
如:[type=”text”,class=”orange”,weight=”130”]
当然也可获取单个节点的值。如 nm.attributes.value
3、nodeType。不同值代表不同节点类型,1为元素节点 ,2为属性节点 等等
4、节点复制。被复制节点.cloneNode(true/false);  true是深层复制,复制本身节点和内部节点;false是浅层复制,只复制本身节点。如:
<ul id=”ning”> <li> aaa</li> </ul>
var ning = document.getElementById(‘ning’);
var fu = ning.cloneNode(true); //深层复制,连ul里li的aaa也都复制了
var south = document.getElementById(“south”);
south.appendChild(fu);
5、dom操作css样式
获取css样式: 元素节点.style.css样式名称; 如 divnode.style.width;
设置css样式: 如 divnode.style.width = ‘500px’ ;
注意:dom操作css样式只能操作行内样式,且样式有则改之,无则新增,复合样式font-size要变为fontSize。
6、dom2级事件。
  6.1主流浏览器方式(ie9以上):
    itnode.addEventListener(事件类型,事件处理[,事件流]);  //设置 事件流可以不设置
    itnode.removeEventListener(事件类型,事件处理[,事件流]);  //取消
  6.2Ie浏览器方式(ie6/7/8):
    itnode.attachEvent(事件类型,事件处理);  //设置
    itnode.detachEvent(事件类型,事件处理);  //取消
事件类型:主流浏览器没有on,如addEventListener(‘click’,……);ie浏览器有on
事件处理:一个有名或匿名函数,如addEventListener(‘click’,function(){})
事件流:
  true捕捉型:事件从内部往外部依次执行,
  [false冒泡型]:事件从外部往内部依次执行(默认),如div里有p,p里有span,他仨都有onclick事件
事件取消(removeEventListener/detachEvent)操作具体要求:
  ①事件处理 必须是有名函数,不可以是匿名函数
  ②事件取消的参数与绑定的参数完全一致(数量/内容)
7、return false只针对dom1级事件起作用,event.preventDefault(); dom1和dom2都起作用。(比如这次方法能阻断post请求的浏览器跳转)
8、加载事件:文档加载完成后,执行js
两种设置方式:
window.onload = 有名函数  //这中dom1级事件只能设一个,多了会覆盖
Window.onload = function(){
有名函数;
有名函数
} //这种匿名函数的方式就能写很多有名函数

快速上手系列:JavaScript进阶的更多相关文章

  1. 快速上手系列-C语言之指针篇(一)

    快速上手系列-C语言之指针篇(一) 浊酒敬风尘 发布时间:18-06-2108:29 指针的灵活运用使得c语言更加强大,指针是C语言中十分重要的部分,可以说指针是C语言的灵魂.当然指针不是万能的,但没 ...

  2. JS快速上手-基础Javascript

    1.1背景 1.1.1 ECMAScript与javascript ECMAScript是javascript的官方命名.因为java已经是一个商标.如今,一些早前收到过授权的公司,如Moailla, ...

  3. 使用 mongodb 的 Docker Image 快速上手系列 lab

    Docker 主要的概念 Dockerfile => 用來產生 docker image 用的(介紹) Image => 可以用來產生 docker container Container ...

  4. SpringBoot快速上手系列01:入门

    1.环境准备 1.1.Maven安装配置 Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件. 下载Maven可执行文件 cd /usr/local ...

  5. 快速入门系列--WebAPI--01基础

    ASP.NET MVC和WebAPI已经是.NET Web部分的主流,刚开始时两个公用同一个管道,之后为了更加的轻量化(WebAPI是对WCF Restful的轻量化),WebAPI使用了新的管道,因 ...

  6. 快速入门系列--WebAPI--03框架你值得拥有

    接下来进入的是俺在ASP.NET学习中最重要的WebAPI部分,在现在流行的互联网场景下,WebAPI可以和HTML5.单页应用程序SPA等技术和理念很好的结合在一起.所谓ASP.NET WebAPI ...

  7. [转]快速入门系列--WebAPI--01基础

    本文转自:http://www.cnblogs.com/wanliwang01/p/aspnet_webapi_base01.html ASP.NET MVC和WebAPI已经是.NET Web部分的 ...

  8. 快速入门系列--WebAPI--04在老版本MVC4下的调整

    WebAPI是建立在MVC和WCF的基础上的,原来微软老是喜欢封装的很多,这次终于愿意将http编程模型的相关细节暴露给我们了.在之前的介绍中,基本上都基于.NET 4.5之后版本,其System.N ...

  9. JavaScript进阶系列07,鼠标事件

    鼠标事件有Keydown, Keyup, Keypress,但Keypress与Keydown和Keyup不同,如果按ctrl, shift, caps lock......等修饰键,不会触发Keyp ...

  10. JavaScript进阶系列06,事件委托

    在"JavaScript进阶系列05,事件的执行时机, 使用addEventListener为元素同时注册多个事件,事件参数"中已经有了一个跨浏览器的事件处理机制.现在需要使用这个 ...

随机推荐

  1. NC53079 Forsaken喜欢数论

    题目链接 题目 题目描述 ​ Forsaken有一个有趣的数论函数.对于任意一个数 \(x\) , \(f(x)\) 会返回 \(x\) 的最小质因子.如果这个数没有最小质因子,那么就返回0. ​ 现 ...

  2. NC14685 加边的无向图

    题目链接 题目 题目描述 给你一个 n 个点,m 条边的无向图,求至少要在这个的基础上加多少条无向边使得任意两个点可达~ 输入描述 第一行两个正整数 n 和 m . 接下来的m行中,每行两个正整数 i ...

  3. Codeforces Round #821 (Div. 2) A-E

    比赛链接 A 题解 知识点:贪心. 下标模 \(k\) 相同分为一组,共有 \(k\) 组,组间不能互换,组内任意互换. 题目要求连续 \(k\) 个数字,一定能包括所有的 \(k\) 组,现在只要在 ...

  4. NC19996 [HAOI2015]树上染色

    题目链接 题目 题目描述 有一棵点数为N的树,树边有边权.给你一个在0~N之内的正整数K,你要在这棵树中选择K个点,将其染成黑色,并将其他的N-K个点染成白色. 将所有点染色后,你会获得黑点两两之间的 ...

  5. Oracle代码封装工具和DBMS_DDL包的使用

    The WRAP Utility and the DBMS_DDL Package On occasion it is necessary to hide (obfuscate) your PL/SQ ...

  6. 使用@ControllerAdvice统一处理自定义异常

    最近工作中涉及到捕捉AOP方法中抛出的异常. 想针对某一种异常做一个统一的处理器并封装好异常信息以JSON格式交给前端进行提示. 主要实现的话有以下几步: 1.编写自定义异常类 package com ...

  7. JAVA对象生命周期(三)-对象的销毁

    目录 从引用说起 指针直接引用 句柄引用 优缺点 如何判断对象死亡 引用计数法 可达性分析法 垃圾收集算法 标记-清除算法 复制算法 复制算法--优化 有关年轻代的JVM参数 标记-整理算法 分代收集 ...

  8. 【Azure 应用服务】App Service"访问控制/流量监控"四问

    问题描述 一问:App Service有那些访问限制的方式 二问:访问限制中,是否可以通过域名来进行限制,而不只是IP地址 三问:App Service如何查看到访问者(客户端)的IP地址,访问时间 ...

  9. 【Azure 应用服务】如何定期自动重启 Azure App Service Plan(应用服务计划)

    问题描述 如何定期自动重启 Azure App Service Plan(应用服务计划)? 因一个App Service Plan 下包含多个应用服务,如果能统一通过应用服务计划来重启所有的应用,则有 ...

  10. 小程序开发:app.vue检测更新时判断是否是朋友圈进入

    因为如果从朋友圈点进小程序来的,有些功能就用不了,所以需要判断下是否从朋友圈点进来的. 检查代码如下: checkScene() { // 判断场景值 如果是从分享到朋友圈再打开 就会有一些功能无法使 ...