定义描述类名或者方法名的注解:ClassOrMethodFullName.java

【写一个js方法】

1
2
3
function alertdemo() {
//
};

function + 方法名 + 括号 + 代码块

【调用这个js方法得加括号】

1
<button type="button" onclick="alertdemo()">点击这里</button>

【带参数的函数,参数是不需要声明类型部分的】

1
2
3
4
5
function alertmsg(msg) {

alert(msg);

}

【带返回值的函数,很好理解】

1
2
3
4
5
function getAResult() {

return "返回的结果";

}

返回值是可选的,means,你想在哪个分支返回就返回,在另一个分支不返回就不返回,返回啥都没人管,因为function根本不会申明返回类型,真是随便的语言啊。

【修改html元素内容】

1
2
3
4
5
x=document.getElementById("demo") //查找元素

x.innerHTML="Hello JavaScript"; //改变内容

x.style.color="#ff0000";    //改变样式

【js是页面顺序执行的】

如果把js放在html元素生成之前尝试修改html元素的内容,会失败。

【引用外部js指定charset时注意外部.js文件的编码是否一致】

1
<script type="text/javascript" charset="utf-8" src="../js/scho/actions/demo.js"></script>

demo.js的编码需要是utf-8的;

【JavaScript 是脚本语言。浏览器会在读取代码时,逐行地执行脚本代码。而对于传统编程来说,会在执行前对所有代码进行编译。】

【js对象】

1
2
3
4
5
6
7
8
9
var person={ 

firstname : "Bill", 

lastname  : "Gates", 

id        :  5566

};

对象属性有两种寻址方式:

实例name=person.lastname;

name=person[“lastname”];

javascript有更随便的对象创建方式:

1
2
3
4
5
6
7
8
9
person=new Object();

person.firstname="Bill"; 

person.lastname="Gates"; 

person.age=56;

person.eyecolor="blue";

【全局变量】

在函数外声明的变量是全局变量,网页上的所有脚本和函数都能访问它。

全局变量会在页面关闭后被删除

【流程语句几乎一样】

if, else, while, switch, ? a : b等

【try—catch】

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
try  { 

       var x=document.getElementById("demo").value;

       if(x=="")    throw "empty"; 

       if(isNaN(x)) throw "not a number"; 

       if(x>10)     throw "too high";

       if(x<5)      throw "too low";

  }catch(err)  { 

       var y=document.getElementById("mess"); 

       y.innerHTML="Error: " + err + ".";

  }

【Javascript为什么能修改html?】

当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)

通过可编程的对象模型,JavaScript 获得了足够的能力来创建动态的 HTML。document是js基础库提供的dom访问对象。

JavaScript 能够改变页面中的所有 HTML 元素

JavaScript 能够改变页面中的所有 HTML 属性

JavaScript 能够改变页面中的所有 CSS 样式

JavaScript 能够对页面中的所有事件做出反应

var x=document.getElementById(“intro”)

var x=document.getElementById(“main”);

var y=x.getElementsByTagName(“p”);//main中的

元素

通过类名查找 HTML 元素在 IE 5,6,7,8 中无效

【绝不要使用在文档加载之后使用 document.write()。这会覆盖该文档。】

【innerHtml修改元素内容,怎么修改元素的属性呢?】

document.getElementById(id).attribute=new value

例如:

1
2
3
<img id="image" src="smiley.gif"> 

document.getElementById("image").src="landscape.jpg";

【修改html元素的样式就是修改元素的style属性】

1
2
3
document.getElementById(id).style.property=new style

document.getElementById("p2").style.color="blue";

【HTML DOM 使 JavaScript 有能力对 HTML 事件做出反应,其实就是js修改html元素的事件属性】

HTML 事件的例子:

当用户点击鼠标时

当网页已加载时

当图像已加载时

当鼠标移动到元素上时

当输入字段被改变时

当提交 HTML 表单时

当用户触发按键时

1
<h1 onclick="this.innerHTML='谢谢!'">请点击该文本</h1>

【js中的this】

1
2
3
function changetext(id){
id.innerHTML="谢谢!";
}
1
<h1 onclick="changetext(this)">请点击该文本</h1>

this就是元素自己本身,就是Element;

或者

1
<h1 onclick="this.innerHTML='谢谢'">请点击该文本</h1>

简直是太随便了。

【onclick就是元素的一个属性,所以可以后续通过js给赋值】

1
2
3
4
5
6
7
8
9
<script> 

document.getElementById("myBtn").onclick=function(){

  displayDate()

}; 

</script>

【js不光能修改html已有的元素的属性和各种值,还能添加删除html元素】

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<div id="div1"> 

<p id="p1">这是一个段落</p> 

<p id="p2">这是另一个段落</p>

</div>

<script> 

var para=document.createElement("p"); 

var node=document.createTextNode("这是新段落。"); 

para.appendChild(node); 

var element=document.getElementById("div1"); 

element.appendChild(para);

</script>

【javascript看什么都是对象】

【BOM,DOM】

The BOM consists of the objects navigator, history, screen, location and document which are children of window. In the document node is the DOM, the document object model, which represents the contents of the page. You can manipulate it using javascript.

就说DOM是BOM的一个子集,这些都是一堆对象;

【万能的$】

$不是javascript的语法关键词,是prototype.js中定义的一个变量:

${“username”}=document.getElementById(“username”)

prototype.js是javascript的一个库,面向对象的库。

读书笔记-js的更多相关文章

  1. 读书笔记 - js高级程序设计 - 第十五章 使用Canvas绘图

    读书笔记 - js高级程序设计 - 第十三章 事件   canvas 具备绘图能力的2D上下文 及文本API 很多浏览器对WebGL的3D上下文支持还不够好   有时候即使浏览器支持,操作系统如果缺缺 ...

  2. 读书笔记:js设计模式

    面向过程编程,面向对象编程和函数式编程> 定义一个类方法1:function Anim(){ } Anim.prototype.start = function(){ .. };Anim.pro ...

  3. 读书笔记 - js高级程序设计 - 第十章 DOM

      文档元素 是文档的最外层元素,在Html页面中,文档元素始终都是<html>元素 在xml中,任何元素都可以是文档元素 Node类型 Node.ELEMENT_NODE 元素 Node ...

  4. 读书笔记 - js高级程序设计 - 第八章 BOM

      BOM的核心对象是window 它表示浏览器的一个实例,在浏览器中,window对象有双重角色,它既是通过js访问浏览器窗口的一个接口,又是ECMAScript规定的Global对象,这意味着在网 ...

  5. 读书笔记 - js高级程序设计 - 第五章 引用类型

      引用类型 和 类 不是一个概念 用typeof来检测属性是否存在 typeof args.name == "string"  需要实验 访问属性的方法 .号和[] 一般情况下要 ...

  6. 读书笔记 - js高级程序设计 - 第十二章 DOM2和DOM3

      Node类型的变化   访问元素的样式 myDiv.style.backgroundColor = "red" myDiv.style.width = "100px& ...

  7. 读书笔记 - js高级程序设计 - 第十一章 DOM扩展

      对DOM的两个主要的扩展 Selectors API HTML5  Element Traversal 元素遍历规范 querySelector var body = document.query ...

  8. 读书笔记 - js高级程序设计 - 第七章 函数表达式

      闭包 有权访问另一个函数作用域中的变量的函数 匿名函数 函数没有名字 少用闭包 由于闭包会携带包含它的函数的作用域,因此会比其它函数占用更多的内存.过度使用闭包可能会导致内存占用过多,我们建议读者 ...

  9. 读书笔记 - js高级程序设计 - 第六章 面向对象的程序设计

      EcmaScript有两种属性 数据属性 和 访问器属性 数据属性有4个特性 Configurable Enumerable Writable Value   前三个值的默认值都为false   ...

随机推荐

  1. Android学习笔记——MixLayout

    该工程的功能是实现LinearLayout+TableLayout 以下代码是MainActivity.java中的代码 package com.example.mixlayout; import a ...

  2. Maven打包可执行jar

    参考文献:http://blog.csdn.net/xiao__gui/article/details/47341385 方法:使用assembly插件,生成的jar包名为xxx-jar-with-d ...

  3. 使用ASP.NET Web Api构建基于REST风格的服务实战系列教程【外传】——Attribute Routing

    系列导航地址http://www.cnblogs.com/fzrain/p/3490137.html 题外话:由于这个技术点是新学的,并不属于原系列,但借助了原系列的项目背景,故命名外传系列,以后也可 ...

  4. MacPorts安装32位动态库

    http://superuser.com/questions/63198/install-32-bits-ports-on-snow-leopard

  5. vim 使用技巧

    2014-11-22 更新 文件abc 1,需要编辑abc的第三行 vim +3 abc 2,需要查询abc文件中的test字符 vim +/test abc 3,创建三个文件 aa bb cc vi ...

  6. JS URL传递中文参数时出现乱码的处理

    在浏览器中显示的地址是这样的: 但是按F12调试的时候的地址却变化掉了: 这个肯定是是因为浏览器对url路径默认编码了.这个问题是在我们去取值的时候,得到的就是后面那一大串稀奇古怪的东西.得不到我们想 ...

  7. 条件查询N多的情况下,回显解决方法。

    条件查询每个web程序员一定都写过,关于条件回显值页面的思路很简单,将页面的值传到后台,放置request作用域,然后回显至页面. 如果几个条件还好些,如果是下面这种情况呢? 如果条件像以上情况N多情 ...

  8. WebForm中搭配母版页和用户控件页时候的事件加载顺序

    在生产环境中,一个内容页(aspx)可能会包含数个用户控件(ascx),而每个控件可能都会涉及到数据库访问. 如果在内容页.母版页.控件页中各自使用自己的数据库访问方法,会造成很大的运行成本. 这样的 ...

  9. 关于学习session的一二

    session作为一种服务器端技术,在网页中与cookie相配合可谓相得益彰,今天学习了进一步session的相关知识,在这里记录一二,以便于以后查阅 /*问题:当我们浏览网页的时候,张三和李四可以购 ...

  10. spring框架搭建url

    MyEclipse+Tomcat+MAVEN+SVN项目完整环境搭建 http://blog.csdn.net/zhshulin/article/details/30779873 MyEclipse下 ...