javaSripte-第一篇

JavaScript是一种脚本语言,也是一种解释性语言;HTML只是描述网页长相的标记语言,没有计算、判断能力,如果所有计算、判断(比如判断文本框是否为空、判断两次密码是否输入一致)都放到服务器端执行的话网页的话页面会非常慢、用起来也很难用,对服务器的压力也很大,因此要求能在浏览器中执行一些简单的运算、判断。JavaScript就是一种在浏览器端执行的脚本语言。

JavaScript的特点如下:

  1.  js是基于对象和事件的脚本语言,主要应用在客户端,由浏览器来执行js代码。
  2.  可以与用户执行信息交互。
  3.  安全性,不允许访问本地硬盘。
  4.  跨平台,只要有一个支持js的浏览器即可。
  5.  js也是一门编程语言,所以也具有编程语言的基本特性,比如:数据类型、变量、语句、函数、数组、对象等,但表现形式可能与c#不一样。
  6.  js也是c系语言,所以语法与c、java、c#非常类似,有了c#语言的基础,所以学习js相对容易。1111.1.
jvaScript的使用方式有两种:
	第一种:直接在页面中嵌入js代码:
	<script type="text/javascript">
		alert(new Date().toLocaleTimeString());//显示当前时间
	</script>
	<script src=“test.js” type=“text/javascript”></script>注意:不要写成<script src=“test.js” type=“text/javascript”/>这样写是错误的。并且当
	<script src="test.js" type="text/javascript">
	//此处js代码不会被执行,不要这样写
	</script>
	第二种:导入外部js文件:
	<script src=“test.js” type=“text/javascript”></script>注意:不要写成<script src=“test.js” type=“text/javascript”/>这样写是错误的。并且当
	script标签具有了src属性后,标签中的内容就不会被执行,所以如下代码不会执行:
	<script src="test.js" type="text/javascript">
	//此处js代码不会被执行,不要这样写
	</script>


jvaScript的语法:

  1. 大小写敏感,js语言严格区分大小写。(n与N是两个不同的变量。)
  2. js中定义字符串可以使用“双引号”也可以使用“单引号”。因为html中使用“双引号”,js中使用“单引号”,避免后续可能发生的冲突。
  3. 没有显示数据类型,声明变量都用var(variable缩写)关键字。不存在int n=10;string s=“a”;的情况,所有变量都用var来声明。
  4. JavaScript是“弱类型”语言,支持“动态类型”。因为是“弱类型”语言,所以以下代码是合法的:var  n=10;n=“a”;
  5. 每条语句后用 “;” 来结尾(不是必须,但建议加上)。虽然语句结尾处不加“分号”也可以,是因为浏览器具有"自动插入分号"的机制(即用户不写分号,浏览器也会在执行时自动加上“分号”),但建议还是在语句结尾处加“分号”。原因有2:一、可以放心的做js压缩(压缩多余空白)。二、提高代码可读性、性能(省却了编译器加分号的步骤)、避免错误。
  6. 变量命名规则:以字母、下划线或$开头,中间可以包括字母、数字、下划线或$。
  7. 关于js智能提示的问题:js是非常灵活的动态语言,不像C#等静态语言那样严谨,开发工具中的js完成功能只是一个辅助、建议。“.”出来的成员调用可能不能用,“.”不出来的成员也许也能调用,因此不要因为“点儿不出来”而担心代码有问题。编写js时,自己应该清楚当前对象有些什么成员,不能依赖智能提示。js的智能提示快捷键依然可以用ctrl+J。

JavaScript共六种数据类型:

  1. Boolean(布尔),取值:只有两种值:true或false
  2. Number(数字),取值:所有数字, 包含整数小数等,范围相当于double。
  3. String(字符串),取值:所有字符串。
  4. Undefined(未定义),取值:只有一个值undefined
  5. Null(空对象),取值:只有一个值null
  6. Object(对象类型),取值:任何对象、Array、function等等

以上6种数据类型,除Object外其他都是基本类型,Object是引用类型。
另注:typeof运算符,该运算符返回一个表达式的数据类型的字符串表示形式。


相等运算符:==、(!=)
对于==两边的表达式,如果类型相同,则直接比较。
对于==两边的表达式,如果类型不同,则先试图将==两边的运算符转换为String、Boolean、Number这些相同的数据类型然后再判断是否相等。
==认为null与undefined、null与null、undefined与undefined是相等的。
完全相等运算符(恒等运算符):===、(!==)
===运算符判断前不进行类型转换,并且===两边必须类型相同,值也相同的情况下才返回true.
另注:switch语句是用的是===.

undefined值,undefined表示一种位置的状态:

1.声明变量但未赋值时,变量的值为undefined
2.方法没有return语句返回值时,返回undefined
3.未声明的变量,通过typeof()检测变量时,返回"undefined"字符串。
4.访问不存在的属性时返回undefined,例如:window.xxx返回undefined。
null值:
null表示一个有意义的值,表示“无值”或“无对象”,此时变量的状态为“已知状态”,即null。可以通过设置对象名为null值,来释放对对象的引用,以便浏览器的垃圾回收机制 可以回收内存。
注意1:通过==判断null与undefined结果为true,但含义不同,而通过===判断null与undefined则返回false.
注意2:把null转换为数字,结果为0。而把undefined转换为数字结果为NaN。


什么情况下的变量视为不可用?
变量声明未赋值
变量未声明就是用
变量值为null
检测手段,通过typeof检查,与是否为null检查:
        var x;
        if (typeof (x) != 'undefined' && x != null) {
            //视为变量可用
        } else {
            //变量不可用
 }


JavaScript中变量作用域问题

1、在页面上直接声明的变量即为“全局变量”,此处的全局变量意思是说在整个当前页面中都能访问的变量。
“全局变量”默认都是属于window对象的成员。
“全局变量”直到页面关闭或浏览器关闭才释放资源。
全局变量在页面的每个<script>标签中都能访问。
全局变量容易引起“命名冲突”
2、在函数内部声明的变量作用与范围为当前函数内部。
3、js中没有块级作用域范围。
4、在js中声明变量时,一定要使用var。少使用“全局变量”。

常用js数据类型转换

一、字符串 转换 数字:
parseInt(numString[, radix]),字符串转换整数
parseFloat(numString),字符串转换小数
二、任意类型到指定类型的转换:
将任意类型转换为数字:
Number(object);
任意类型转换为字符串:
1.String(object)
2.对象.toString();
任意类型转换为Boolean:
Boolean(object)
NaN(Not a Number):当将某类型转换为数字失败时,返回NaN。表示不是一个数字。NaN不等于任何值,包括它自己,需要使用isNaN(arg)函数。(NaN==NaN 返回false)





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值