javascript脚本
1、javascript脚本运行方式:
1、使用javascript:前缀构建执行javascript代码中的URL。例如javascript:alert("hwzhang");
2、使用<script.../>标签来包含javascript代码。
2、javascript变量的定义:
1、隐式定义:直接给变量赋值的方式。
2、显示定义:使用var先声明再使用。javascript是弱类型语言。javascript变量区分大小写
3、类型转换:
对于减号运算符,因为字符串不支持减法运算,所以系统自动将字符串转换成数值
对于加号运算符,因为字符串可以用加号作为连接运算符,所以系统自动将数值转化成字符串进行连接运算
javascript通过toString()将布尔值、数值等转换成字符串;
通过parseInt()将布尔值、字符串转换成整数;
通过parseFloat()将字符串、布尔值转换成浮点数;
parseInt、parseFloat转换时字符串包含字符是转换成NaN;转换undefined、null、布尔值和其他对象时一律转换成NaN
4、javascript局部变量覆盖全局变量;javascript没有块作用域;javascript的局部变量在整个函数作用域有效,与在函数中定义的位置无关
5、javascript基本数据类型:
1、数值类型:包含整数和浮点数;注:数值的直接量不要以0开始(javascript支持8和16进制)。
数值超出表示范围将出现的两个值:Infinity(无穷大)和-Infinity(负无穷小);Infinity和-Infinity进行算术运算是表达式值为:NaN
javascript运行除数为0;0除以0结果为NaN;正数除以0为Infinity;负数除以0结果为-Infinity
NaN:No a Number;NaN不会与任何数值变量相等,javascript专门用isNaN()函数来判断某个变量是否为NaN
判断两个浮点型变量是否相等:可以计算这两个浮点型数的差值是否小于一个足够小的数即可。
2、布尔类型:只有true和false两种值
3、字符串类型:字符串变量必须以引号或者单引号括起来
match和search都支持使用正则表达式作为子串。区别:match返回值为字符串数组或null,match在正则表达式后加g表示全局匹配,不加g返回第一次结果;search方法返回子串的索引,否则返回-1;
4、undefined:专门用来确定一个已经创建但是没有初值的变量
undefined该值表示某个变量不存在、没有赋值或某个对象的属性不存在。如需严格区分undefined和null需使用精确等于符(===)。
5、null:用于表明某个变量的值为空。
6、正则表达式:javascript的正则表达式必须放在两条斜线之间,如/abd/;/d匹配数字,digit数字,/s匹配空格,space空间;/w匹配单词,包括0~9、26个字母和下划线(_),word单词
$:匹配一行的结尾,^:匹配一行的开头;?:0次或1次;*:0次或多次;+:1次或多次;{m,n}:最少m次,最多n次
用()可以将一个表达式形成一个固定组。还可以在()内使用竖线(|)表示互斥。例如:/((abc)|(def))/可匹配bac或def。
javascript的正则表达式提供了一个test()方法,用于判断表达式是否匹配某个字符串。replace()方法也可以使用正则表达式。
String.prototype.trim = function(){//该方法为非静态方法,属于实例对象
return this.replace("/(^\s*)|($\s*)/g","");
}
7、复合类型是由多个基本数据类型组成的数据体。javascript中的复合类型大致有三种:Object对象;Array数组;Function函数。
对象是一系列命名变量和函数的集合。
数组是一系列的变量。数组定义方式:var a = [1,2,3];var b = []; var c = new Array();
javascript数组的特征:
1、数组长度可变;
2、同一个数组里数组元素的类型可以互不相同;
3、访问数组元素时不会产生数组越界,访问并未赋值的数组元素时,该元素的值为undefined;
函数是javascript中另一种复合类型。
javascript函数的特征:
1、javascript函数无须声明返回值类型。
2、javascript函数无须声明参数类型。
3、javascript函数可以独立存在,不必依附于类。
4、javascript必须使用function关键字调用。
8、运算符:
1、逗号(,)运算符允许将许多表达式排在一起,最后返回最右边表达式的值。例:a=(b=5,c=7,d=56);
2、void运算符用于强行指定表达式不返回值。例:a=void(b=5,c=7,d=56);
3、typeof和instanceof运算符
typeof运算符用于判断某个变量的数据类型,可作为函数来用,例如:typeof(a)可返回变量a的类型;可以作为运算符来使用,例如:typeof a,也可返回变量a的数据类型。
if(typeof name == 'string')
不同类型使用typeof返回值:undefined值:undefined;null值:object;布尔值:boolean,数字值:number;字符串值:string;对象:object;函数:function
与typeof类似instanceof判断某个变量是否为指定类的实例,如果是,则返回true,否则返回false,当该变量为null是返回false
var num = new Number();
alert("num : "+num);
//num = null;
alert(num instanceof Number);
9、异常处理:javascript异常机制与java异常机制存在如下区别:
1、javascript中只有一个异常类Error,无须在定义函数时声明抛出异常,所以没有throws关键字
2、javascript是弱语言类型,所以catch语句后括号里的异常实例无须声明类型
3、javascript只有一个异常类Error,所以try块后只能有一个catch块
4、获取异常描述信息是通过异常对象的message属性。例如e.message
10、with语句:使用with语句可以避免重复书写对象。with后只有一个语句是括号可省略,但意义不大。语法格式:with(object){...}
例如:document.writeln("1233");document.writeln("1233");document.writeln("1233");
可以改写成:with(document){writeln("1233")}
11、for in 循环:for in循环实质上是一种foreach循环:主要作用:
1、遍历数组里的所有元素。当遍历数组时循环计数器是数组元素的索引。
var arr = ["1111","2222","3333"];
for(index in arr){
document.writeln(arr[index]);
}
2、遍历javascript对象里的所有属性。当遍历对象属性时,循环计数器是该对象的属性。
for(field in navigator){
document.writeln(field);
}
12、函数:
1、在匿名函数定义的语法最后不要忘记紧跟分号(;)。var f = function(s){...};
注:var f = function abd(){...};这种写法在调用时abd()失去意义,即用f()没有问题,用abd()调用时在报错。Firefox和Opera不支持。
2、函数和类:函数不仅是一个函数还是一个类。
函数的调用方式:
1、直接调用函数:调用者.函数名(参数列表);----调用者可以省略;直接调用函数如果有return则返回return结果,无return就不返回任何结果。
2、使用关键字new调用函数:这种方式总有返回值,返回值是一个JavaScript对象。
function test(name){//定义一个函数
return "你好," + name ;
}
var rval = test('leegang');//直接调用函数
var obj = new test('leegang');//将函数作为类的构造器
alert(rval + "\n" + obj);
3、函数名.call(调用者,参数列表);
4、 函数名.apply(调用者,arguments);
call与apply的本质一样,只不过apply可以通过arguments来访问当前函数的参数
13、函数的实例属性和静态属性:JavaScript中定义的变量不仅有局部变量,还有实例属性和静态属性。根据声明方式变量分为:
1、局部变量:在函数中以普通方式声明的变量,包括var或不加任何前缀声明的变量。
2、实例变量:在函数中以this前缀修饰的变量。
3、静态变量:在函数中以函数名修饰前缀的变量。
注:JavaScript对象不能访问它所属类的静态属性。
14、函数的参数处理:与java相似,JavaScript的参数传递也全部是值传递方式(存在疑问?)。
函数的参数类型:弱类型语言接受参数应该先判断参数类型,并判断参数是否包含了需要访问的属性、方法后在进行逻辑判断
if (typeof person == 'object' && typeof person.age == 'number') 或者 if (p instanceof Person)
15、JavaScript中对象的本质上是一个关联数组,想java中的map数据结构。有一组key-value组成。因此当访问某个对象的属性时可以obj.propName或obj[propName]
当对象的属性名是变量时(即fieldName是一个自定义的变量)只能采用object[fieldName]的方式访问对象属性;如用object.fieldName形式JavaScript会直接访问object对象的fieldName属性结果就是undefined
var person = [name:"hwzhang",age:22];var str = "name";person.str是不正确的需要用person[str]访问
for (propName in p){//遍历Person对象的属性
document.writeln('p对象的' + propName
+ "属性值为:" + p[propName] + "<br />");
}
16、伪继承和prototype:JavaScript并没有提供真正的继承,当通过某个类的prototype属性动态增加属性或方法时,其实质是对原有类的修改,而不是真正产生一个新的子类,所以这种机制依然只是一种伪继承。
对于需要在类定义中定义方法的情形,尽量避免直接在类定义中定义方法,这样可能造成内存泄漏和产生闭包(简单理解为变量除了作用范围仍然存在)。比较安全的方式通过prototype属性来增加属性或方法。
17、创建JavaScript对象:JavaScript的对象只是一种特殊的关联数组。JavaScript中创建对象大致有三种方式:
1、使用关键字new创建对象。
function Person(name, age){this.name = name; this.age = age;}
var p1 = new Person();//JavaScript支持空参数特性,次数name和age均为undefined
var p2 = new Person("hwzhang",22);
2、使用Object创建即时对象。
var myObj = new Object();//这是一个没有属性和方法的空对象
myObj.name = "hwzhang"; myObj.age = 22; myObj.info = function(){};//为对象动态添加属性或方法
myObj.info=methodName;将已有函数添加为对象方法时,不能在函数名后添加括号。一旦添加括号将表示调用函数,则不是将方法本身赋给对象的方法,而是将函数返回值赋给对象
3、使用JSON语法创建对象。
创建对象格式:var obj = {name:"hwzhang",age:22};
创建数组对象格式:var array = ["hwzhang","mygu"];
- 浏览: 2050587 次
- 性别:
- 来自: 北京
最新评论
-
0372:
标示对java很陌生!
中文乱码解决的4种方式 -
梦留心痕:
Java中\是转意字符, 可是你的这句话我没看懂,只要把得到的 ...
java中如何忽略字符串中的转义字符--转载 -
yanjianpengit:
[b][/b]
java为什么非静态内部类里面不能有静态成员 -
springdata-jpa:
可以参考最新的文档:如何在eclipse jee中检出项目并转 ...
eclipse 如何把java项目转成web项目 -
qq1130127172:
,非常好。
(转)SpringMVC 基于注解的Controller @RequestMapping @RequestParam..
相关推荐
JavaScript基础语法(ppt)JavaScript基础语法(ppt)JavaScript基础语法(ppt)JavaScript基础语法(ppt)JavaScript基础语法(ppt)JavaScript基础语法(ppt)JavaScript基础语法(ppt)JavaScript基础语法(ppt)...
这个资源是javaScript基础语法的总结,适合学完javascript基础语法的进行巩固、复习! 这...我是想免费给大家看的,这怎么还收费
JavaScript基础语法07_连接符和转义字符 JavaScript基础语法08_算数运算符 JavaScript基础语法09_赋值运算符 JavaScript基础语法10_关系运算符 JavaScript基础语法11_条件运算符 JavaScript基础语法12_逻辑运算符 ...
### JavaScript基础语法全解 #### 变量与变量声明 - **变量定义**:变量是编程语言中用于存储数据的基本单元。在JavaScript中,变量作为存放数据的“容器”,其内容可以在程序运行过程中被更改。 - **变量示例**...
自己总结的JavaScript基础语法的笔记,绘制了详细的思维导图,每个思维导图中均有详细的博文解释,方便大家学习和理解,免费分享给大家。适合网页前端的爱好者和学习者
在JavaScript基础语法中,以下几个关键概念是学习者必须掌握的: 1. **变量(Variables)**:在JavaScript中,变量用于存储数据。声明变量使用`var`、`let`或`const`关键字。`var`是老式用法,而`let`和`const`是...
"JavaScript基础语法详解" JavaScript基础语法是JavaScript语言的核心部分,包括ECMAScript的基础语法、DOM文档对象模型和BOM浏览器对象模型等。JavaScript是一种具有面向对象能力的、解释型的程序设计语言,主要...
本资料包"JavaScript基础语法.zip"聚焦于JavaScript的基础知识,是学习JavaScript编程的入门资源。 1. 变量与数据类型: JavaScript支持多种数据类型,包括基本类型(Number、String、Boolean、Null、Undefined、...
JavaScript学习资料JavaScript基础语法函数及相关源代码资料: BOM基础.pdf BOM基础(源代码).zip Date对象之获取和设置月份-getMonth&setMonth(教辅).pdf DOM事件总结(教辅).pdf DOM事件(ppt).pdf JavaScripr...
JavaScript:JavaScript基础语法.docx
JavaScript基础语法资料 JavaScript代码 素材 笔记 作业资料,学习资料 01-编程语言.html 02-JS初体验.html 03-JS注释.html 04-JS输入输出语句.html 05-变量.html 06-变量案例.html 07-变量案例弹出用户名.html 08-...
JavaScript基础语法.docx
此“JavaScript基础语法笔记”涵盖了学习JS所必需的关键概念,包括循环结构、对象以及基本语法。 一、for循环 在JavaScript中,`for`循环是一种常用的迭代结构,用于重复执行一段代码直到特定条件满足。基本语法...
JavaScript是一种广泛应用于网页和网络应用...以上就是"JavaScript语法基础.rar"压缩包中涉及的JavaScript基础知识。理解和掌握这些知识点,将有助于你编写出功能丰富、健壮的JavaScript代码,实现动态网页和网络应用。
JavaScript基础语法——strings
Javascript2 PPT-基础语法
08JavaScript基础语法-1.xmind
本资料包"4.JavaScript基础语法.zip"聚焦于JavaScript的基础语法,通过MP4视频的形式,帮助学习者掌握这门语言的核心概念。 JavaScript语法的基础部分包括变量、数据类型、操作符、流程控制和函数等。 1. 变量:在...
JavaScript 基础语法大全和案例用法 JavaScript 是一种广泛使用的编程语言,用于创建交互式客户端脚本。JavaScript 的基础语法元素包括变量声明、数据类型、表达式与运算符、控制结构、函数、注释、对象和数组、...
JavaScript 基础语法 什么是 JavaScript JavaScript 是一种嵌入在网页中的解释型脚本语言,运行在浏览器中,用来丰富页面的互动。它最初由 Netscape 公司发明,最后提交给欧洲计算机制造商协会(ECMA), ECMA 将 ...