javascript基本语法


Posted in Javascript onMay 31, 2016

1、运算符

运算符就是完成操作的一系列符号,它有七类:

赋值运算符(=,+=,-=,*=,/=,%=,<<=,>>=,|=,&=)、算术运算符(+,-,*,/,++,--,%)、比较运算符(>,<,<=,>=,==,===,!=,!==)、逻辑运算符(||,&&,!)、条件运算(?:)、位移运算符(|,&,<<,>>,~,^)和字符串运算符(+)。

可能很多人不知道"==="是什么。

在这里,我为大家解释一下,在javascript中,“=="是等同运算符。

等同运算符的比较规则:

当两个运算数的类型不同时:将他们转换成相同的类型

1)一个数字与一个字符串,字符串转换成数字之后,进行比较。
2)true转换为1、false转换为0,进行比较。
3)一个对象、数组、函数 与 一个数字或字符串,对象、数组、函数转换为原始类型的值,然后进行比较。(先使用valueOf,如果不行就使用toString)
4)其他类型的组合不星等。

想两个运算数类型相同,或转换成相同类型后:

1)2个字符串:同一位置上的字符相等,2个字符串就相同。
2)2个数字:2个数字相同,就相同。如果一个是NaN,或两个都是NaN,则不相同。
3)2个都是true,或者2个都是false,则相同。
4)2个引用的是同一个对象、函数、数组,则他们相等,如果引用的不是同一个对象、函数、数组,则不相同,即使这2个对象、函数、数组可以转换成完全相等的原始值。
5)2个null,或者2个都是未定义的,那么他们相等。

而“===”是全同运算符,全同运算符遵循等同运算符的比较规则,但是它不对运算数进行类型转换,当两个运算数的类型不同时,返回false;只有当两个运算数的类型相同的时候,才遵循等同运算符的比较规则进行比较。

例如:null==undefined 会返回真 , 但是null===undefined 就会返回假!

2、表达式

运算符和操作数的组合称为表达式,通常分为四类:赋值表达式、算术表达式、布尔表达式和字符串表达式。

3、语句

Javascript程序是由若干语句组成的,语句是编写程序的指令。Javascript提供了完整的基本编程语句,它们是:
赋值语句、switch选择语句、while循环语句、for循环语句、for each循环语句、do while循环语句、break循环中止语句、continue循环中断语句、with语句、try...catch语句、
if语句(if..else,if...else if ...)、let语句。

4、函数

函数是命名的语句段,这个语句段可以被当作一个整体来引用和执行。使用函数要注意以下几点:

1)函数由关键字function定义(也可由Function构造函数构造)。
2)使用function关键字定义的函数在一个作用域内是可以在任意处调用的(包括定义函数的语句前);而用var关键字定义的必须定义后才能被调用。
3)函数名是调用函数时引用的名称,它对大小写是敏感的,调用函数时不可写错函数名。
4)参数表示传递给函数使用或操作的值,它可以是常量,也可以是变量,也可以是函数,在函数内部可以通过arguments对象(arguments对象是一个伪数组,属性callee引用被调用的函数)访问所有参数。
5)return语句用于返回表达式的值。
6)yield语句扔出一个表达式,并且中断函数执行直到下一次调用next。

一般的函数都是以下格式:

function myFunction(params){

//执行的语句

}

函数表达式:

var myFunction=function(params){

//执行的语句

}
var myFunction = function(){

//执行的语句

}
myFunction();//调用函数

匿名函数,它常作为参数在其他函数间传递:

window.addEventListener('load',function(){

//执行的语句

},false);

5、对象

Javascript的一个重要功能就是面向对象的功能,通过基于对象的程序设计,可以用更直观、模块化和可重复使用的方式进行程序开发。

一组包含数据的属性和对属性中包含数据进行操作的方法,称为对象。比如要设定网页的背景颜色,所针对的对象就是document,所用的属性名是bgcolor,如document.bgcolor="blue",就是表示使背景的颜色为蓝色。

6、事件

用户与网页交互时产生的操作,称为事件。事件可以由用户引发,也可能是页面发生改变,甚至还有你看不见的事件(如Ajax的交互进度改变)。绝大部分事件都由用户的动作所引发,如:用户按鼠标的按键,就产生click事件,若鼠标的指针在链接上移动,就产生mouseover事件等等。在Javascript中,事件往往与事件处理程序配套使用。

而对事件的处理,W3C的方法是用addEventListener()函数,它有三个参数:事件,引发的函数,是否使用事件捕捉。为了安全性,建议将第三个参数始终设置为false;

传统的方法就是定义元素的on...事件,它就是W3C的方法中的事件参数前加一个“on”。而IE的事件模型使用attachEvent和dettachEvent对事件进行绑定和删除。javascript中事件还分捕获和冒泡两个阶段,但是传统绑定只支持冒泡事件。

7、变量

如 var myVariable = "some value";

变量有它的类型,上例中myVariable的类型为string(字符串)

javascript支持的常用类型还有:

object:对象
array:数组
number:数字
boolean:布尔值,只有true和false两个值,是所有类型中占用内存最少的
null:一个空值,唯一的值是null
undefined:没有定义和赋值的变量

实际上javascript的变量是弱变量类型,你赋值给他的是字符串,他就是String .
是数字他就是整形。是true和false他就是boolean型(注意,不能加引号,不然会被当成字符串处理)。

以上就是js基本语法,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Prototype源码浅析 String部分(三)之HTML字符串处理
Jan 15 Javascript
JS中attr和prop属性的区别以及优先选择示例介绍
Jun 30 Javascript
jquery实现上传文件大小类型的验证例子(推荐)
Jun 25 Javascript
AngularJS基础 ng-hide 指令用法及示例代码
Aug 01 Javascript
Vuejs第十篇之vuejs父子组件通信
Sep 06 Javascript
Angular在一个页面中使用两个ng-app的方法(二)
Feb 20 Javascript
解决canvas画布使用fillRect()时高度出现双倍效果的问题
Aug 03 Javascript
浅谈JsonObject中的key-value数据解析排序问题
Dec 06 Javascript
vue中的inject学习教程
Apr 24 Javascript
JS实现数组删除指定元素功能示例
Jun 05 Javascript
详解vue中多个有顺序要求的异步操作处理
Oct 29 Javascript
JavaScript find()方法及返回数据实例
Apr 30 Javascript
jquery 无限极下拉菜单的简单实例(精简浓缩版)
May 31 #Javascript
通用无限极下拉菜单的实现代码
May 31 #Javascript
JavaScript+Java实现HTML页面转为PDF文件保存的方法
May 30 #Javascript
详解JavaScript中双等号引起的隐性类型转换
May 30 #Javascript
JavaScript中的操作符类型转换示例总结
May 30 #Javascript
jQuery中的通配符选择器使用总结
May 30 #Javascript
移动端jQuery修正Web页面滑动时div问题的两则实例
May 30 #Javascript
You might like
Yii2简单实现给表单添加验证码的方法
2016/07/18 PHP
yii2 resetful 授权验证详解
2017/05/18 PHP
laravel高级的Join语法详解以及使用Join多个条件
2019/10/16 PHP
PHP代码覆盖率统计详解
2020/07/22 PHP
用客户端js实现带省略号的分页
2013/04/27 Javascript
Jquery 例外被抛出且未被接住原因介绍
2013/09/04 Javascript
jQuery绑定事件不执行但alert后可以正常执行
2014/06/03 Javascript
jquery 新建的元素事件绑定问题解决方案
2014/06/12 Javascript
javascript实现根据3原色制作颜色选择器的方法
2015/07/17 Javascript
jQuery实现的图文高亮滚动切换特效实例
2015/08/10 Javascript
javascript中的正则表达式使用详解
2015/08/30 Javascript
JavaScript驾驭网页-获取网页元素
2016/03/24 Javascript
详解vue-cli脚手架build目录中的dev-server.js配置文件
2017/11/24 Javascript
详解webpack提取第三方库的正确姿势
2017/12/22 Javascript
Vue中使用 setTimeout() setInterval()函数的问题
2018/09/13 Javascript
浅谈一个webpack构建速度优化误区
2019/06/24 Javascript
v-slot和slot、slot-scope之间相互替换实例
2020/09/04 Javascript
[01:08:32]DOTA2-DPC中国联赛 正赛 DLG vs PHOENIX BO3 第二场 1月18日
2021/03/11 DOTA
python实现得到一个给定类的虚函数
2014/09/28 Python
Python2.x版本中基本的中文编码问题解决
2015/10/12 Python
Python中functools模块的常用函数解析
2016/06/30 Python
python 把列表转化为字符串的方法
2018/10/23 Python
在Python中使用turtle绘制多个同心圆示例
2019/11/23 Python
django多种支付、并发订单处理实例代码
2019/12/13 Python
python两种注释用法的示例
2020/10/09 Python
Python日志打印里logging.getLogger源码分析详解
2021/01/17 Python
全球速卖通法国在线交易平台:AliExpress法国
2017/07/07 全球购物
保送生自荐信范文
2013/10/06 职场文书
十岁生日父母答谢词
2014/01/18 职场文书
广告学专业自荐信范文
2014/02/24 职场文书
简易版租房协议书范本
2014/10/13 职场文书
吃空饷专项整治方案
2014/10/27 职场文书
高中政治教学反思
2016/02/23 职场文书
深度学习小工程练习之垃圾分类详解
2021/04/14 Python
python geopandas读取、创建shapefile文件的方法
2021/06/29 Python
基于Redis结合SpringBoot的秒杀案例详解
2021/10/05 Redis