JavaScript学习与实践一
一、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学习与实践一的更多相关文章
- JavaScript:学习笔记(5)——箭头函数=>以及实践
JavaScript:学习笔记(5)——箭头函数=>以及实践 ES6标准新增了一种新的函数:Arrow Function(箭头函数).本文参考的链接如下: MDN箭头函数:https://dev ...
- javascript学习笔记一
今天看的javascript 应用开发实践指南 看了js库 jquery ,明确了要深入学习jquery的想法. 对于javascript原生态的ajax写法(兼容性只需考虑ie6),封装为函数: f ...
- javascript 学习笔记之模块化编程
题外: 进行web开发3年多了,javascript(后称js)用的也比较多,但是大部分都局限于函数的层次,有些公共的js函数可重用性不好,造成了程序的大量冗余,可读性差(虽然一直保留着注释的习惯,但 ...
- javascript学习-对象与原型
javascript学习-对象与原型 Javascript语言是符合面向对象思想的.一般来说,面向对象思想需要满足以下三个基本要求: 封装,Javascript的对象可以自由的扩充成员变量和方法,自然 ...
- JavaScript 学习推荐
主要是个人的学习网站,书籍推荐,还有个人学习经历,以及一些学习经验或技巧 JavaScript学习网站推荐 如果想快速入门,这些是很推荐的网站 快速入门,很快能让你了解前端,有什么,做什么, ...
- Weex学习与实践
Weex学习与实践(一):Weex,你需要知道的事 本文主要介绍包括Weex基本介绍.Weex源码结构.初始化工程.we代码结构.Weex的生命周期.Weex的工作原理.页面间通信.boxmodel ...
- Java程序猿的JavaScript学习笔记(5——prototype和Object内置方法)
计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...
- JavaScript学习总结(一)基础部分
转自:http://segmentfault.com/a/1190000000652749 基本概念 javascript是一门解释型的语言,浏览器充当解释器. js执行引擎并不是一行一行的执行,而是 ...
- JavaScript学习(一) —— 环境搭建与JavaScript初探
1.开发环境搭建 本系列教程的开发工具,我们采用HBuilder. 可以去网上下载最新的版本,然后解压一下就能直接用了.学习JavaScript,环境搭建是非常简单的,或者说,只要你有一个浏览器,一个 ...
随机推荐
- zookeeper 下载安装
下载:wget https://www-us.apache.org/dist/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz 解压:tar -zx ...
- 频繁模式挖掘中Apriori、FP-Growth和Eclat算法的实现和对比(Python实现)
最近上数据挖掘的课程,其中学习到了频繁模式挖掘这一章,这章介绍了三种算法,Apriori.FP-Growth和Eclat算法:由于对于不同的数据来说,这三种算法的表现不同,所以我们本次就对这三种算法在 ...
- 【转】BehaviorDesigner学习
BehaviorDesigner学习 行为树: 行为树设计师插件是一个专门为unity设计的AI插件. 通过继承Behavior中的Task下的四个节点,可以创建自己的行为树节点. 行为树中的自定 ...
- MySql数据库 - 5.用C#连接数据库
添加 dll 引用,dll 位置:C:\Program Files (x86)\MySQL\Connector NET 8.0\Assemblies\v4.5.2 引入命名空间:MySql.Data. ...
- iOS----------设计模式的六大设计原则------>开放-关闭原则(OCP,Open-Close Principle)
定义 一个软件实体(如类.模块.函数)应当对扩展开放,对修改关闭. 定义解读 在项目开发的时候,都不能指望需求是确定不变化的,大部分情况下,需求是变化的.那么如何应对需求变化的情况?这就是开放-关闭原 ...
- 删除ARCSDE表空间和用户后,新建时出现error -1:O的解决办法
对于刚开始使用arcsde的用户,可能会出现各种问题,慢慢来就会找到解决办法 当我们删除用户和表空间时,在服务器本地还保留这sde.dbf文件(删除时选择了删除本地文件,不知道为什么), 我们可以换一 ...
- BZOJ3720 Gty的妹子树 【树分块】
题目 我曾在弦歌之中听过你, 檀板声碎,半出折子戏. 舞榭歌台被风吹去, 岁月深处尚有余音一缕-- Gty神(xian)犇(chong)从来不缺妹子-- 他来到了一棵妹子树下,发现每个妹子有一个美丽度 ...
- 关于5Gwifi
但目前全球最快的WiFi传输速度仅为300Mbps(少数可以达到600Mbps),相当于每秒只能传输约36MB的内容.在人们只利用它来看网站.处理邮件的年代,这没什么问题.但到了今天,面对越来越复杂的 ...
- python(5)-- 函数
python 函数 定义:函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 使用好处:函数能提高应用的模块性,和代码的重复利用率. 分类:(1)python 内建函数:pytho ...
- Static 静态内部类
Java中的类可以是static吗?答案是可以.在java中我们可以有静态实例变量.静态方法.静态块.类也可以是静态的. java允许我们在一个类里面定义静态类.比如内部类(nested class) ...