一、JavaScript数组

  创建JavaScript数组有两种方式

  方式一:

var cars=new Array();
cars[0]="Audi";
cars[1]="BMW";
cars[2]="Volvo";

  方式二:

var cars=new Array("Audi","BMW","Volvo");

二、JavaScript对象

  1、创建方式

var person={firstname:"Bill", lastname:"Gates", id:5566};

  2、寻址方式

name=person.lastname;
name=person["lastname"];

三、JavaScript函数

  1、作用域

在函数之外声明的变量作用域是全局的,在程序的任意位置使用或者改变它们。在函数内部声明的变量也是全局的,除非在声明时使用了var关键字。var关键字使得变量的作用域称为局部的。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
function greeting(str) {
name = "xujian";
}
function greeting2() {
greeting("123");
alert(name);
}
</script>
</head>
<body>
<input type="button" onclick="greeting2()" value="欢迎" />
</body>
</html>

  2、闭包

  闭包就是能够读取其他函数内部变量的函数。

  闭包有两个作用:一是可以读取到函数内部的变量,二是让这些变量的值始终保持在内存中。

四、文档对象模型DOM HTML

  DOM HTML/CSS

  1、document.write()可用于直接向html输出流写内容。(不要使用在文档加载之后使用 document.write()。这会覆盖该文档)

  2、可以使用innerHTML属性来修改HTML内容

document.getElementById(id).innerHTML= ...

  3、使用attribute属性改变HTML元素的属性

  4、使用style.property改变HTML元素的样式

<p id="p2">Hello World!</p>
<script>
document.getElementById("p2").style.color="blue";
</script>

  DOM事件

  • onload/onunload事件:用户进入或离开页面时被触发
  • onchange事件:结合对输入字段的验证来使用
<!DOCTYPE html>
<html>
<head>
<script>
function myFunction()
{
  var x=document.getElementById("fname");
  x.value=x.value.toUpperCase();
}
</script>
</head>
<body>
请输入英文字符:<input type="text" id="fname" onchange="myFunction()">
<p>当您离开输入字段时,会触发将输入文本转换为大写的函数。</p>
</body>
</html>
  • onmouseover/onmouseout事件:用户的鼠标移至HTML元素上方或移出元素时触发函数
  • onmousedown/onmouseup/onclick事件:onmousedown, onmouseup 以及 onclick 构成了鼠标点击事件的所有部分。首先当点击鼠标按钮时,会触发 onmousedown 事件,当释放鼠标按钮时,会触发 onmouseup 事件,最后,当完成鼠标点击时,会触发 onclick 事件。

  DOM节点

  创建新的HTML元素

<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>

  删除已有的HTML元素

<div id="div1">
<p id="p1">这是一个段落。</p>
<p id="p2">这是另一个段落。</p>
</div>
<script>
var parent=document.getElementById("div1");
var child=document.getElementById("p1");
parent.removeChild(child);
</script>

五、浏览器对象模型BOM

  1、window对象:表示浏览器窗口,所有JavaScript全局对象、函数以及变量都自动成为window对象的成员

  • window.open() - 打开新窗口
  • window.close() - 关闭当前窗口
  • window.moveTo() - 移动当前窗口
  • window.resizeTo() - 调整当前窗口的尺寸

  2、Screen对象:包含有关用户屏幕的信息

  • screen.availWidth - 可用的屏幕宽度
  • screen.availHeight - 可用的屏幕高度

  3、Location对象:用于获得当前页面的地址(URL),并把浏览器重定向到新的页面

  • location.hostname 返回 web 主机的域名
  • location.pathname 返回当前页面的路径和文件名
  • location.port 返回 web 主机的端口 (80 或 443)
  • location.protocol 返回所使用的 web 协议(http:// 或 https://)
  • location.assign 方法加载新的文档

  4、History对象:包含浏览器的历史

  • history.back() - 与在浏览器点击后退按钮相同
  • history.forward() - 与在浏览器中点击按钮向前相同

  5、Navigator对象:包含有关访问者浏览器的信息

<div id="example"></div>
<script>
txt = "<p>Browser CodeName: " + navigator.appCodeName + "</p>";
txt+= "<p>Browser Name: " + navigator.appName + "</p>";
txt+= "<p>Browser Version: " + navigator.appVersion + "</p>";
txt+= "<p>Cookies Enabled: " + navigator.cookieEnabled + "</p>";
txt+= "<p>Platform: " + navigator.platform + "</p>";
txt+= "<p>User-agent header: " + navigator.userAgent + "</p>";
txt+= "<p>User-agent language: " + navigator.systemLanguage + "</p>";
document.getElementById("example").innerHTML=txt;
</script>

  6、PopupAlert对象:消息框,包括警告框,确认框,提示框

  • 警告框:用于确保用户可以得到某些信息,当警告框出现后,用户需要点击确定按钮才能继续操作

  alert("文本");

  

  • 确认框:用于使用户可以验证或者接受某些信息,当确认框出现后,用户确认点击确认或者取消才能继续操作。

  confirm("文本")

  

  • 提示框:用于提示用户在进入页面前输入某个值,当提示框出现后,用户需要输入某个值,然后点击确认或取消按钮才能继续操纵。如果用户点击确认,那么返回值为输入的值。如果用户点击取消,那么返回值为 null。

  prompt("文本","默认值")

  

JavaScript学习与实践一的更多相关文章

  1. JavaScript:学习笔记(5)——箭头函数=>以及实践

    JavaScript:学习笔记(5)——箭头函数=>以及实践 ES6标准新增了一种新的函数:Arrow Function(箭头函数).本文参考的链接如下: MDN箭头函数:https://dev ...

  2. javascript学习笔记一

    今天看的javascript 应用开发实践指南 看了js库 jquery ,明确了要深入学习jquery的想法. 对于javascript原生态的ajax写法(兼容性只需考虑ie6),封装为函数: f ...

  3. javascript 学习笔记之模块化编程

    题外: 进行web开发3年多了,javascript(后称js)用的也比较多,但是大部分都局限于函数的层次,有些公共的js函数可重用性不好,造成了程序的大量冗余,可读性差(虽然一直保留着注释的习惯,但 ...

  4. javascript学习-对象与原型

    javascript学习-对象与原型 Javascript语言是符合面向对象思想的.一般来说,面向对象思想需要满足以下三个基本要求: 封装,Javascript的对象可以自由的扩充成员变量和方法,自然 ...

  5. JavaScript 学习推荐

    主要是个人的学习网站,书籍推荐,还有个人学习经历,以及一些学习经验或技巧 JavaScript学习网站推荐 如果想快速入门,这些是很推荐的网站      快速入门,很快能让你了解前端,有什么,做什么, ...

  6. Weex学习与实践

    Weex学习与实践(一):Weex,你需要知道的事 本文主要介绍包括Weex基本介绍.Weex源码结构.初始化工程.we代码结构.Weex的生命周期.Weex的工作原理.页面间通信.boxmodel ...

  7. Java程序猿的JavaScript学习笔记(5——prototype和Object内置方法)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  8. JavaScript学习总结(一)基础部分

    转自:http://segmentfault.com/a/1190000000652749 基本概念 javascript是一门解释型的语言,浏览器充当解释器. js执行引擎并不是一行一行的执行,而是 ...

  9. JavaScript学习(一) —— 环境搭建与JavaScript初探

    1.开发环境搭建 本系列教程的开发工具,我们采用HBuilder. 可以去网上下载最新的版本,然后解压一下就能直接用了.学习JavaScript,环境搭建是非常简单的,或者说,只要你有一个浏览器,一个 ...

随机推荐

  1. WebService常用公共接口

    Web Service 一些对外公开的网络服务接口   商业和贸易: 1.股票行情数据 WEB 服务(支持香港.深圳.上海基金.债券和股票:支持多股票同时查询) Endpoint: http://we ...

  2. POJ 2976 Dropping tests(01分数规划入门)

    Dropping tests Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 11367   Accepted: 3962 D ...

  3. 本文将介绍“数据计算”环节中常用的三种分布式计算组件——Hadoop、Storm以及Spark。

    本文将介绍“数据计算”环节中常用的三种分布式计算组件——Hadoop.Storm以及Spark. 当前的高性能PC机.中型机等机器在处理海量数据时,其计算能力.内存容量等指标都远远无法达到要求.在大数 ...

  4. 三叉神经树 ( neuron )

    三叉神经树 ( neuron ) 题目描述 计算神经学作为新兴的交叉学科近些年来一直是学术界的热点.一种叫做SHOI 的神经组织因为其和近日发现的化合物SHTSC 的密切联系引起了人们的极大关注. S ...

  5. mac 安装 maven 配置

    前面的话: 记录 在 Mac 下 安装配置 maven 1. 下载 Maven, 并解压到某个目录.例如/Users/robbie/apache-maven-3.3.3 2. 打开 Terminal, ...

  6. 转:Java 动态代理的内部实现机制(大体意思正确,写的还行的一篇文章)

    转:Java动态绑定的内部实现机制 JAVA虚拟机调用一个类方法时,它会基于对象引用的类型(通常在编译时可知)来选择所调用的方法.相反,当虚拟机调用一个实例方法时,它会基于对象实际 的类型(只能在运行 ...

  7. Vijos P1404 遭遇战

    背景 你知道吗,SQ Class的人都很喜欢打CS.(不知道CS是什么的人不用参加这次比赛). 描述 今天,他们在打一张叫DUSTII的地图,万恶的恐怖分子要炸掉藏在A区的SQC论坛服务器!我们SQC ...

  8. 更改MVC3默认错误提示信息 模型验证 validation

    原文发布时间为:2011-07-20 -- 来源于本人的百度文章 [由搬家工具导入] Model Metadata and Validation Localization using Conventi ...

  9. [LeetCode] Maximum Depth of Binary Tree dfs,深度搜索

    Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the long ...

  10. Boost::thread库的使用(转)

    原文转自 http://blog.csdn.net/lee353086/article/details/4673790 本文主要由线程启动.Interruption机制.线程同步.等待线程退出.Thr ...