Javascript学习第一季 三
作者:cssrain 来源:cssrain blog 发布时间:2008-06-27 13:08:00
标签:变量,表达式,运算符,javascript
上篇文章讲了js中的传值和传址 和 函数的作用域.
这章我们来探讨js中的变量,表达式,和运算符 还有一些 js 语句。
升级中……
1, 表达式:
最简单的表达式:直接量或者变量名。var a =1;
直接量表达式的值:本身。
变量表达式的值:该变量所存放或引用的值。
2 , 运算符:
一元运算符: 比如 - 3
二元运算符: 比如 3+4
三元运算符: 比如 ? :
新手常遇到的问题:
递增运算符:
比如:
i= 1 ;
j = ++ i ; // 前递增运算,即先对运算数进行递增,然后再去计算。
//输出 i =2; j=2 ;
i = 1 ;
j = i ++; // 后递增运算,即先去计算,然后再对运算数进行递增。
//输出 i =2; j=1 ;
3, 相等运算符:
= : 赋值运算符;
== : 相等运算符;
=== : 等同运算符;
值NaN永远不会与任何值相等,包括自己。
alert(NaN == NaN); //false NaN 意思为 Not a Number
要检测一个值是否是NaN,可以使用全局函数isNaN();
另外新手要注意:
var a =[1,2,3];
var b =[1,2,3];
document.write(a==b); // 输出false .(这个其实是 第一章讲的内容。)
// 虽然值相同,类型相同,但址不同。
--------------------------------------------------------
var a =[1,2,3];
var b = a ;
var c = a ;
document.write(b===c);//输出true;
--------------------------------------------------------
var a = "1";
var b = true ;
document.write(a==b); //输出 true
document.write(a===b); //输出 false ; 值相同, 类型不同
4, 比较运算符:
要注意的就是字符串是进行琢个比较。而且会区分大小写。如果你的需求是不区分大小写:
可以使用
String.toLowerCase() //纯小写
String.toUpperCase() //纯大写 转换后 ,然后再去比较.
5, in 运算符:
要注意的是:左边的值是其右边对象的属性。
比如:
var a = { x : 1 , y : 2 };
var b = “x” in a ; // true
var c = “toString” in a ; // true . 左边的值是其右边对象的属性。
6 instanceof 运算符:
要注意的是:左边的运算数是一个对象,右边的运算数是对象类的名字。
比如:
var a = new Date()
a instanceof Date; // true
a instanceof Object ; // true
a instanceof Number ; // false
7, 3元条件运算符:
要注意的是:第一个运算数必须是一个布尔值。
X > 0 ? 3 : 2 ;
8, typeof运算符:
要注意的是:由于typeof对所有的对象和数组都是返回 object;
所以它只能区分对象和原始数据类型时才有用。
要区别一种对象类型和另一种对象类型,可以使用 instanceof 和 constructor 属性。


猜你喜欢
- 本文介绍MySQL与Redis缓存的同步的两种方案方案1:通过MySQL自动同步刷新Redis,MySQL触发器+UDF函数实现方案2:解析
- 可以压缩文件和目录。package mainimport ( "archive/zip" &qu
- 一 模板语法传值方式一:# urls.pypath('template', views.template)# views.p
- 如何快速的复制一张表首先创建一张表db1.t,并且插入1000行数据,同时创建一个相同结构的表db2.t假设,现在需要把db1.t里面的a&
- Python 正则表达式是什么学习 Python 正则表达式离不开 re 模块,所以本篇博客会配合 re 模块进行编写。re 库是 Pyth
- by yemoo有时在编写网页代码时发现,img底部莫名奇妙多出大约3px的空白,无论怎么调节css都不可以,今天再次遇到此问题,网上看了一
- 一,设计背景 由于所在公司ORACLE数据库较多,传统人工监控表空间的方式较耗时,且无法记录历史表空间数据,无法判断每日表空间增长
- 对于React,Vue构建的单页面应用老说,SEO是一个众所周知的问题。服务端渲染(SSR-server Side Render)是目前看来
- 下面记录一下在本地 Windwos 环境用 vagrant 搭建的虚拟机(Homestaead)和生产环境阿里云 CentOS 系统安装 N
- Python 中貌似并没有直接返回插入数据 id 的操作(反正我是没找到),但是我们可以变通一下,找到最新插入的数据#!/usr/bin/e
- 用到了两个库,xlrd和xlwtxlrd是读excel,xlwt是写excel的库[/code]1)xlwd用到的方法:xlwt.Workb
- js代码:$(".head").change(function() {var val = $(this).val();i
- 笔者在网站开发中,采用PHP4.0+MySQL3.23.38建立了多种应用。下面,以一个简单的聊天室设计为例,介绍PHP+MySQL在网页开
- 用pycharm和pyqt5,想写一个弹出窗口的程序,如下:class video_record(QWidget): &nbs
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN&
- 一:模版的继承1.什么是模板继承?你需要事先在你想要使用的主页面上划定区域做好标记,之后在子页面继承的时候你就可以使用在主页面划定的区域,也
- 此BUG最初是在《前端观察》网站刊登,这里再描述一下,代码如下:<style>*{ padding:0; m
- 这篇文章主要介绍了python检测服务器端口代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友
- 简介zhdate模块统计从1900年到2100年的农历月份数据代码,支持农历和公历之间的转化,并且支持日期差额运算。安装pip instal
- git克隆历史版本(下载指定版本的代码)步骤一:首先git clone 当前项目至文件夹步骤二:cd 进入clone下来的项目文件夹内步骤三