JavaScript简单入门(补充篇)
本文是对上一篇 JavaScript简单入门 的一些细节补充。
一、全局变量和局部变量
在<script>标签内定义的变量是当前页面中的全局变量。即 <script>标签可以直接访问其他<script>标签定义的变量。而在函数体中定义的变量则为局部变量。如:
<script type="text/javascript">
var x = 1;//全局变量
function show(x){//局部变量
x = ++x;
return x;
}
show(x);
document.write("x="+x);
</script>
所以输出的x = 1;而不是2。
二、常见对象
1、object对象:为js对象提供通用方法。如toString()方法:返回对象的字符串形式。
2、String对象:用于处理文本(字符串),String对象为字符串提供了许多方法。
①字符串是 JavaScript 的一种基本的数据类型。String 对象的 length 属性声明了该字符串中的字符数。String 类定义了大量操作字符串的方法,例如从字符串中提取字符或子串,或者检索字符或子串。需要注意的是,JavaScript 的字符串是不可变的(immutable),String 类定义的方法都不能改变字符串的内容。像 String.toUpperCase() 这样的方法,返回的是全新的字符串,而不是修改原始字符串。
②用户可以使用已有的方法来增加自定义方法,如:去掉字符串两端的空格:
<script type="text/javascript">
function trim(str){
var start,end;
start = 0;
end = str.length-1; while(start <= end && str.charAt(start)==' '){
start++;
}
while(start <= end && str.charAt(end)==' '){
end--;
}
return str.substring(start,end+1);//包含头不包含尾。
}
</script>
③String的原型:String.prototype
使用原型属性可以向对象添加属性和方法。添加的新方法或新属性,那么字符串对象就都具有了这些新方法。如:
<script type="text/javascript">
//使用String原型添加自定义方法haha():
String.prototype.haha= function(){
var start,end;
start = 0;
end = str.length-1; while(start <= end && str.charAt(start)==' '){
start++;
}
while(start <= end && str.charAt(end)==' '){
end--;
}
return str.substring(start,end+1);//包含头不包含尾。
}
//然后字符串对象就可以调用haha()这个方法了。
3、Array对象:数组对象
方法如:concat():返回一个新数组,这个新数组是由两个或更多数组组合而成的。
4、date对象:日期对象
启用基本存储器并取得日期和时间。
5、Math对象:是一个固有对象,提供基本数学函数和常数。不用new创建对象可以直接调用。
6、Number对象:代表数值数据类型和提供数值常数的对象。
7、自定义对象
在js中可以使用function来模拟对象的创建过程。
方式1:
<script type="text/javascript">
//自定义Person对象
function Person(){//相当于构造器 }
//通过描述直接进行对象的建立
var p = new Person();
var name = "张三";
var age = 20;
p.show = function(){
document.write(name+":"+age);
} p.show();
</script>
方式2:
<script type="text/javascript">
//自定义Person对象
function Person(name,age){//相当于构造器
this.name = name;
this.age = age;
this.setName = function(name){
this.name = name;
}
this.setAge = function(age){
this.age = age;
}
this.show = function(){
document.write(this.name+":"+this.age);
}
} var p = new Person("张三",22);
p.setName("哈哈");
p.setAge(20);
p.show();
</script>
方式3:另一种封装方式:
<script type="text/javascript">
var pp = {
//定义对象(逗号隔开)
"name":"李四",
"age":20,
"show":function(){
return this.name+":"+this.age;
}
} document.write(pp.show());
</script>
方式4:等等
三、特殊语句:with
with 语句通常用来缩短特定情形下必须写的代码量。在下面的例子中,请注意 Math 的重复使用:
x = Math.cos(3 * Math.PI) + Math.sin(Math.LN10)
y = Math.tan(14 * Math.E)
当使用 with 语句时,代码变得更短且更易读:
with (Math){
x = cos(3 * PI) + sin (LN10)
y = tan(14 * E)
}
JavaScript简单入门(补充篇)的更多相关文章
- 一篇文章带你了解网页框架——Vue简单入门
一篇文章带你了解网页框架--Vue简单入门 这篇文章将会介绍我们前端入门级别的框架--Vue的简单使用 如果你以后想从事后端程序员,又想要稍微了解前端框架知识,那么这篇文章或许可以给你带来帮助 温馨提 ...
- BAT脚本编写教程简单入门篇
BAT脚本编写教程简单入门篇 批处理文件最常用的几个命令: echo表示显示此命令后的字符 echo on 表示在此语句后所有运行的命令都显示命令行本身 echo off 表示在此语句后所有运行的命 ...
- Javascript之入门篇(一)
上一篇学习了什么是JavaScript语言及其作用和特有的特点等,本篇将详细介绍JavaScript一些入门使用方式. 对于初学者来讲,由于JavaScript是嵌入到HTML页面里面的,首先创建一张 ...
- Linux入门基础篇
Linux入门基础篇 Linux诞生 Linux发行版本说明 Linux官方网站 Linux内核官方网站 比较有名的Linux发行版 虚拟机(Virtual Machine),一个虚拟的系统,安装在系 ...
- Java的多线程 简单入门
Java的多线程 简单入门 首先能够先搞清楚什么是程序.进程.线程,以及它们之间的关系: 定义: 一 程序仅仅是一组指令的有序集合.它是静态的 二 进程是具有一定独立功能的程序关于某个数据集合上的一次 ...
- 《IM开发新手入门一篇就够:从零开发移动端IM》
登录 立即注册 TCP/IP详解 资讯 动态 社区 技术精选 首页 即时通讯网›专项技术区›IM开发新手入门一篇就够:从零开发移动端IM 帖子 打赏 分享 发表评论162 想开 ...
- 一篇文章带你了解NoSql数据库——Redis简单入门
一篇文章带你了解NoSql数据库--Redis简单入门 Redis是一个基于内存的key-value结构数据库 我们会利用其内存存储速度快,读写性能高的特点去完成企业中的一些热门数据的储存信息 在本篇 ...
- 用IntelliJ IDEA创建Gradle项目简单入门
Gradle和Maven一样,是Java用得最多的构建工具之一,在Maven之前,解决jar包引用的问题真是令人抓狂,有了Maven后日子就好过起来了,而现在又有了Gradle,Maven有的功能它都 ...
- [原创]MYSQL的简单入门
MYSQL简单入门: 查询库名称:show databases; information_schema mysql test 2:创建库 create database 库名 DEFAULT CHAR ...
随机推荐
- 深度解析continue,break和return
continue,break和return是Java中的关键字,在方法体内的流程控制中使用频率较高. 在现实中,经常会有同学在使用中产生混淆,从而使得流程控制语句发生混乱.在这里,我结合个人的使用经历 ...
- 判断是否AVL平衡二叉书
#include<iostream> #include<vector> #include<stack> #include<string> #includ ...
- codeforces 893A Chess For Three 模拟
893A Chess For Three 思路: 直接模拟即可,第一盘永远是A与B开始 代码: #include <bits/stdc++.h> using namespace std; ...
- POJ 1273 Drainage Ditches 网络流 FF
Drainage Ditches Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 74480 Accepted: 2895 ...
- 在Linux中使用线程
我并不假定你会使用Linux的线程,所以在这里就简单的介绍一下.如果你之前有过多线程方面的编程经验,完全可以忽略本文的内容,因为它非常的初级. 首先说明一下,在Linux编写多线程程序需要包含头文件p ...
- php代码在服务器中查看接值
error_log("You messed up!", 3, "/var/tmp/my-errors.log");
- 制作多级菜单hide()与show() toggle()
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- C++反汇编第五讲,认识多重继承,菱形继承的内存结构,以及反汇编中的表现形式.
C++反汇编第五讲,认识多重继承,菱形继承的内存结构,以及反汇编中的表现形式. 目录: 1.多重继承在内存中的表现形式 多重继承在汇编中的表现形式 2.菱形继承 普通的菱形继承 虚继承 汇编中的表现形 ...
- POJ 1251 Jungle Roads(最小生成树)
题意 有n个村子 输入n 然后n-1行先输入村子的序号和与该村子相连的村子数t 后面依次输入t组s和tt s为村子序号 tt为与当前村子的距离 求链接全部村子的最短路径 还是裸的最小生成树咯 ...
- 基于QT的异质链表实例
所谓的异质链表就是的节点元素类型能够不同.本实例採用C++抽象类和多态实现. #include <QApplication> #include<QPushButton> #in ...