JavaScript基础语法
来源:互联网 发布:php extract函数 编辑:程序博客网 时间:2024/06/04 23:18
1、JavaScript简介
1.1、JavaScript的出现
JavaScript与Java不同,JavaScript早期的主要目的是处理一些用户的输入验证操作,没有JavaScript之前,所有数据都是提交到网站后台来进行检测,速度慢用户体验不好,所以出现了JavaScript脚本语言。
1.2、JavaScript的功能
JavaScript 是属于网络的脚本语言!JavaScript 被数百万计的网页用来改进设计、验证表单、检测浏览器、创建cookies,以及更多的应用。
javascript运行必须依赖于宿主环境语言,即页面语言HTML。JavaScript是解释型的语言,解释型:不需要编译,解释器程序会每读取一条语句就执行。运行速度慢,浏览器中默认内置了javascript的解释器程序。
常见的脚本语言:
ECMASCRIPT主要进行所有脚本语言的标准制定。
- JavaScript
- JScript
- VBScript
- ActionScript
JavaScript是基于对象和事件的脚本语言
一个完整的JavaScript由以下三个部分组成
- ECMAScript
- DOM(全称Document Object Model,即文档对象模型)
- BOM(全称 Browser Object Model,浏览器对象模型)
1.3、JavaScript特点
- 安全性(不允许直接访问本地硬盘),它可以做的就是信息的动态交互。
- 跨平台性。(只要是可以解释Js的浏览器都可以执行,和平台无关。)
2、JavaScript基本语法
2.1 语法
2.1.1 引入方法
向HTML页面插入JavaScript的主要方法,就是使用标签对<script>...</script>
。有两种使用方法:
- 直接在HTML中嵌入JavaScript代码,在标签对
<script>...</script>
中写JavaScript代码 - 使用script标签的src属性引入一个js文件。(方便后期维护,扩展)
例:<script src="test.js" type="text/javascript"></script>
- 使用script标签的src属性引入一个js文件。(方便后期维护,扩展)
2.1.2 注意
- 页面上可以有多个
<script>
标签 <script>
标签按顺序执行<script>
标签可以出现在任意的页面位置<script>
标签一定要写</script>
关闭,而不能<script/>
这样关闭。否则没有任何错误信息,但是没有运行结果。- 区分大小写
2.1.3 注释
单行注释以双斜杠开头(//
)
多行注释以单斜杠和星号开头(/*
),以星号和单斜杠结尾(*/
)
2.1.4 常用函数
window.alert()
或写为 alert()
:显示一个提示框显示内容。 window.document.write()
:在网页的当前位置处写内容。
2.2 JavaScript数据类型
基本类型:number,string,boolean
变量是弱类型的,与 Java不同,ECMAScript 中的变量无特定的类型,定义变量时只用 var 运算符,可以将它初始化为任意值。因此,可以随时改变变量所存数据的类型(尽量避免这样做)
例如:
<script type="text/javascript" > var color = "red"; var num = 25; var visible = true; // 尽量避免这样做 var message = "hello"; message = 100;</script>
2.2.1 typeof操作符
ECMASCRIPT 中有4种基本数据类型: Undefined, Boolean,Number和String
关键字typeof
可以获取一个变量的类型。
<script type="text/javascript" > var a = 100; var b = 3.14; var c = true; var d = 'a'; var e = "hello"; document.write( typeof a + "<br/>"); document.write( typeof b + "<br/>"); document.write( typeof c + "<br/>"); document.write( typeof d + "<br/>"); document.write( typeof e + "<br/>"); document.write( typeof f + "<br/>"); </script>
类型的总结:
- 所有的数值都是number类型
- 字符和字符串都是string类型
- 布尔是boolean类型
- 如果一个变量没有初始化值的时候,其类型为undefined类型
2.3 流程控制语句
2.3.1 判断
if (condition) statement1 else statement2
判断的条件会发生自动类型转换:
number:如果非0为true,0为false
string:如果非null或非空为true,否则为false
undefined:false
NaN: false
对象类型:非null为true,否则为false。
2.3.2 选择
switch 语句的语法:switch (expression) case value: statement; break;... default: statement;
ECMAScript 和 Java 中的 switch 语句有两点不同。在 ECMAScript 中,switch 语句可以用于字符串,而且能用不是常量的值说明情况
var color = "xx";var value1 = "red", value2 = "green";switch(color) { case value1: alert("红色"); break; case value2: alert("绿色"); break; default: alert("执行默认default");}
var num = 20;switch(true) { case num >= 0 && num <= 10: alert("大于0小于等于10"); break; case num>10&&num<=20: alert("大于10小于等于20"); break;}
2.3.3 循环
while循环
while (expression) statement
do while循环
do {statement} while (expression);
for 语句
iCount = 6;for (var i = 0; i < iCount; i++) { alert(i);}
for in 用于枚举对象的属性或者遍历一个数组的元素
for (property in expression) statement
2.3.4 With语句
有了 With 语句,在存取对象属性和方法时就不用重复指定参考对象
with(obj){ 操作obj的属性语句;}
<script type="text/javascript"> with(document){ write("您好 !"); write("<br>这个文档的标题是 : \"" + title + "\"."); write("<br>这个文档的 URL 是: " + URL); write("<br>现在您不用每次都写出 document 对象的前缀了 !"); }</script>
2.4 JavaScript函数
JS中有三种定义函数的方式
1、正常方式:function mysum(num1,num2){return num1+num2;}
function mysum(num1,num2){ return num1 + num2; }var myresult = mysum(100,200);alert("myresult="+myresult);
2、构造器方式:new Function("num1","num2","return num1+num2;")
var youresult = new Function("num1","num2","return num1+num2");alert( youresult(1000,2000) );
3、直接量或匿名或无名方式:var mysum = function(num1,num2){return num1+num2;}
var theyresult = function(num1,num2){ return num1 + num2; }alert( theyresult(10000,20000) );
2.5 JS中有四种对象
2.5.1 内置对象 :Date,Math,String,Array
Date对象
var str = new Date().toLocaleString();window.document.write("<font size='44' color='red'>"+str+"</font>");
String对象
常见的方法:Anchor() 生产锚点Blink() 为元素添加blink标签 charAt() 返回指定索引位置处的字符。charCodeAt() 回一个整数,代表指定位置上字符的 Unicode 编码。Concat() 回字符串值,该值包含了两个或更多个提供的字符串的连接。Fontcolor() 把带有 COLOR 属性的一个 HTML <FONT> 标记放置在 String 对象中的文本两端indexOf() 返回 String 对象内第一次出现子字符串的字符位置italics() 把 HTML <I> 标记放置在 String 对象中的文本两端。 Link() 把一个有 HREF 属性的 HTML 锚点放置在 String 对象中的文本两端。Replace() 返回根据正则表达式进行文字替换后的字符串的复制Split() 切割 Substr() 截取子串toUpperCase() 转大写toLowerCase 转小写
document.write("第五章".anchor("ch1"));document.write("第五章".charAt(0));document.write("第五章".fontcolor("#ff0000"));
Array对象
var arrs=new Array();//不指定长度var arrs=new Array(20);//指定长度var arrs=new Array("hello");//会创建一个元素的数组var arrs=["aa","bb","cc"];//创建一个包含3个字符串的数组// 遍历数组for(var i = 0; i < arr.length; i++){ alert(arr[i]);} for( var i in arr ){ // i 是遍历出的数组中的索引,从0开始,一直到最大索引。 // 如果有其他属性,也会遍历出来,其实索引就是数组对象的属性。 alert(arr[i]);}//下标越界时:var arr = ["aa", "bb"];document.write(arr[200]);// 显示undefined
2.5.2 自定义对象(两种方式)
function Student(id,name,sal){ //this指向s引用 this.id = id; this.name = name; this.sal = sal;}var s = new Student(1,"abc",7000);document.write("编号:" + s.id + "<br/>");/* * 自定义对象Object方式 * * */var person = new Object();person.name = "jack";person.age = 28;person.sayHello = function() { document.write(this.name + ":" + this.age);}person.sayHello();
2.5.3 浏览器对象: window,document,status,location,history
2.5.4 ActiveX对象
2.6 prototype
“prototype”字面翻译是“原型”,是javascript实现继承的主要手段。prototype是javascript中的函数(function)的一个保留属性,并且它的值是一个对象
Prototype注意的细节:
- prototype是函数(function)的一个必备属性(书面一点的说法是”保留属性”)(只要是function,就一定有一个prototype属性)
- prototype的值是一个对象
- 可以任意修改函数的prototype属性的值。
- 一个对象会自动拥有这个对象的构造函数的prototype的成员属性和方法。
例:如果我们想给Array数组对象添加一个方法
<script type="text/javascript"> var arr = new Array(1,2,3,4,5,6); Array.prototype.getMax = function(){ var max = this[0]; for(var index=1;index<this.length;index++){ if(max<this[index]){ max = this[index]; } } return max; } window.document.write("最大值:"+arr.getMax()); window.alert(arr.getMax()); </script>
- javascript基础语法A
- javascript 基础语法
- javascript的语法基础
- JavaScript 语法基础
- JavaScript基础语法
- JavaScript基础、语法(JS)
- javascript基础---语法1
- JavaScript--基础语法整理
- javascript基础语法1
- JavaScript基础语法
- javascript基础语法
- javascript基础1语法
- Javascript基础语法
- JavaScript-基础语法(3)
- JavaScript-基础语法(4)
- JavaScript语法基础详解
- 【JavaScript】(1)基础语法
- 二 JavaScript基础语法
- UVA 679 Dropping Balls 【模拟+数学规律】
- 常见的路由条目生成算法
- 写给Android App开发人员看的Android底层知识(1)
- js判断冒号,replace所有冒号
- 自定义realm进行授权
- JavaScript基础语法
- Android 源码解析Handler消息传递机制
- SQLAlchemy列类型和选项、关系选项
- JAVA模拟客户机与服务器实现简易的TCP通讯
- 初学java对一些基本概念的理解
- 好吧,CSS3 3D transform变换,不过如此!
- RxJava零基础入门(二)
- 如何将你的 MySQL 查询速度提升 300 倍
- 前端开发(兼容性)调试工具,类库