转帖 JS的基础语法
1、变量
1)变量是用来存储信息的容器。
2)在javascript中使用var 运算符(variable 的缩写)加变量名定义的。
varx = 10;
vary = 10.1;
varz = “Hello”;
3)JavaScript 变量名称的规则:
>变量名对大小写敏感
> 变量名必须以字母或下划线开始
4)不要使用关键字和保留字作为变量名
说明:javascript中的变量与我们在java中的变量一样
2、数据类型
在ECMAScript中,变量可以存在两种数据类型,即原始类型与引用类型。
2.1原始类型(5种)
1)字符串(String ):使用单引号或双引号声明。
2)数字(Number):任何数字都看成是Number类型,它可以表示32位整数,也可以表示64位浮点数。
n 八进制首数字必须是0,十六进制使用0x开始。
3)布尔(Boolean):它有两个值true和false。
4)未定义(Undefined):该类型只有一个值undefined,表示的是未初始化的变量。
5)空(Null):只有一个值null,不存在的对象。
n 值undefined实际上是从值null派生出来的。因此null==undefined得到的结果是true。
n 可以通过赋值null,来清除对象。
类型检测:对于基本类型的检测可以使用typeof运算符。
undefined - 如果变量是 Undefined 类型的
boolean - 如果变量是 Boolean 类型的
number - 如果变量是 Number 类型的
string - 如果变量是 String 类型的
object - 如果变量是一种引用类型或 Null 类型的
注意:为什么 typeof 运算符对于null 值会返回 "Object"。这实际上是 JavaScript 最初实现中的一个错误,然后被 ECMAScript 沿用了。现在,null 被认为是对象的占位符,从而解释了这一矛盾,但从技术上来说,它仍然是原始值。
说明:typeof对null值返回Object,其他的引用类型一律为Object。
2.2引用类型
引用类型就是对象类型。
对象是由 new 运算符加上要实例化的对象的名字创建的varobj=new Object();
Object对象自身用处不大,但是 ECMAScript 中的 Object 对象与 Java 中的 java.lang.Object 相似,ECMAScript 中的所有对象都由这个对象继承而来,Object 对象中的所有属性和方法都会出现在其他对象中。
常用的javascript对象有Boolean,Number,Array,String,Date,Math,RegExp.
类型检测:使用instanceof运算符来判断对象的类型。
3、类型转换
大部分类型具有进行简单转换的方法,还有几个全局方法可以用于更复杂的转换。
提供了基本类型的包装类:Boolean、Number、String,原始类型是它们的伪对象,这意味着它们实际上具有属性和方法。
3.1知识点
Ø 转换成字符串
toString()方法.
Ø 转换成数字
parseInt() 把值转换成整数
parseFloat() 把值转换成浮点数
注:只有对 String 类型调用这些方法,它们才能正确运行;对其他类型返回的都是 NaN。
Ø 强制类型转换
ECMAScript 中提供了三种强制类型转换:
1. 把给定的值转换成Boolean类型
2. 把给定的值转换成数字
3. 把给定的值转换成字符串
3.2例子
测试Boolean型的强制类型转换
测试强制转换成数字类型
测试强制转换成字符串
4、运算符与表达式
4.1运算符
Ø 一元运算符
++ -- void
void运算符对任何值返回 undefined。该运算符通常用于避免输出不应该输出的值,例如,从 HTML 的 <a> 元素调用 JavaScript 函数时。要正确做到这一点,函数不能返回有效值,否则浏览器将清空页面,只显示函数的结果。例如:
<a href="javascript:window.open('about:blank')">Click me</a>
如果把这行代码放入 HTML 页面,点击其中的链接,即可看到屏幕上显示"[object]"。这是因为 window.open() 方法返回了新打开的窗口的引用。然后该对象将被转换成要显示的字符串。要避免这种效果,可以用 void 运算符调用 window.open() 函数:
<a href="javascript:void(window.open('about:blank'))">Click me</a>
这使 window.open() 调用返回 undefined,它不是有效值,不会显示在浏览器窗口中。
提示:请记住,没有返回值的函数真正返回的都是 undefined。
Ø 逻辑运算符
逻辑运算会有三种 NOT AND OR
Ø 加性运算符
1)特殊值的加性
某个运算数是 NaN,那么结果为 NaN。
-Infinity 加 -Infinity,结果为-Infinity。
Infinity 加 -Infinity,结果为 NaN。
+0 加 +0,结果为 +0。
-0 加 +0,结果为 +0。
-0 加 -0,结果为 -0。
2)运算数是字符串的情况:
如果两个运算数都是字符串,把第二个字符串连接到第一个上。
如果只有一个运算数是字符串,把另一个运算数转换成字符串,结果是两个字符串连接成的字符串。
Ø 关系运算符
> < >= <=
1)常规比较
数字:正常比较
字符串:字符的ASCII表大小进行比较。
根据字母顺序,在前的字母比在后的小,所有的小写字母都大于大写字母。
2)比较数字或字符串
两数字字符串:按照数字在码表中的码值来比较,例如:”23”<”3”。
一个数字&一个字符串:字符串转换成数字再进行比较。
Ø 等性运算符
ECMAScript提供了两套等性运算符:等号与非等号用来处理原始值,全等号与非全等号来处理对象。
执行类型转换的规则如下:
· 如果一个运算数是 Boolean 值,在检查相等性之前,把它转换成数字值。false 转换成 0,true 为 1。
· 如果一个运算数是字符串,另一个是数字,在检查相等性之前,要尝试把字符串转换成数字。
· 如果一个运算数是对象,另一个是字符串,在检查相等性之前,要尝试把对象转换成字符串。
· 如果一个运算数是对象,另一个是数字,在检查相等性之前,要尝试把对象转换成数字。
在比较时,该运算符还遵守下列规则:
·值 null 和 undefined 相等。
·在检查相等性时,不能把 null 和 undefined 转换成其他值。
·如果某个运算数是 NaN,等号将返回 false,非等号将返回 true。
·如果两个运算数都是对象,那么比较的是它们的引用值。如果两个运算数指向同一对象,那么等号返回 true,否则两个运算数不等。
全等号由三个等号表示(===),只有在无需类型转换运算数就相等的情况下,才返回 true。
非全等号由感叹号加两个等号(!==)表示,只有在无需类型转换运算数不相等的情况下,才返回 true。
Ø 三元运算符
var max = (num1 > num2) ? num1:num2;
Ø 赋值运算符
= *= /= %= += -=
Ø 逗号运算符
用逗号运算符可以在一条语句中执行多个运算。例如:vara=1,b=2,c=3;
---------------------
作者:ashencode
来源:CSDN
原文:https://blog.csdn.net/ashencode/article/details/77512789
版权声明:本文为博主原创文章,转载请附上博文链接!
最新文章
- Excel&mdash;如何解决数组求和运算时行列不匹配产生的错误
- NodeJs连接Oracle数据库
- [moka同学笔记]Yii2 数据操作Query Builder 2
- Qlikview 的权限控制
- C++ 迭代器 基础介绍
- 我用的/etc/vimrc
- asp.net webuploader粘贴,拖拽,点击上传图片
- 【AsyncTask整理 1】 AsyncTask几点要注意的地方
- 链表的倒数第K个节点
- JavaScript——对this指针的新理解
- tornado远远不止
- 算法的优化(C语言描述)
- 为什么推荐Zookeeper作注册中心
- FZU 2112 Tickets
- JVM调优总结:分代垃圾回收详述
- yum fastermirror插件屏蔽一些国内源
- UVA 11039-Building designing【贪心+绝对值排序】
- linux route 路由设置小记
- tablespace(表空间) / segment(断) / extent(盘区)/ block(块)/datafile(文件)之间的关系
- PHP chdir函数:改变当前的目录