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 相关文章推荐
Ajax请求在数据量大的时候出现超时的解决方法
Feb 27 Javascript
Jquery操作js数组及对象示例代码
May 11 Javascript
javascript 10进制和62进制的相互转换
Jul 31 Javascript
JavaScript中数组成员的添加、删除介绍
Dec 30 Javascript
jQuery使用之设置元素样式用法实例
Jan 19 Javascript
javascript编程异常处理实例小结
Nov 30 Javascript
JS 实现可停顿的垂直滚动实例代码
Nov 23 Javascript
Angular ng-repeat指令实例以及扩展部分
Dec 26 Javascript
jQuery中DOM节点删除之empty与remove
Jan 20 Javascript
Vue.js 实现微信公众号菜单编辑器功能(一)
May 08 Javascript
Vue中使用webpack别名的方法实例详解
Jun 19 Javascript
jsonp跨域获取数据的基础教程
Jul 01 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
php smarty模板引擎的6个小技巧
2014/04/24 PHP
JSON字符串传到后台PHP处理问题的解决方法
2016/06/05 PHP
php实现评论回复删除功能
2017/05/23 PHP
PHP使用PDO操作sqlite数据库应用案例
2019/03/07 PHP
Yii2框架加载css和js文件的方法分析
2019/05/25 PHP
javascript学习笔记(十六) 系统对话框(alert、confirm、prompt)
2012/06/20 Javascript
原生JS实现表单checkbook获取已选择的值
2013/07/21 Javascript
smartcrop.js智能图片裁剪库
2015/10/14 Javascript
jquery ztree实现树的搜索功能
2016/02/25 Javascript
ES6(ECMAScript 6)新特性之模板字符串用法分析
2017/04/01 Javascript
JS获取鼠标坐标并且根据鼠标位置不同弹出不同内容
2017/06/12 Javascript
微信小程序引用公共js里的方法的实例详解
2017/08/17 Javascript
关于JavaScript的单双引号嵌套问题
2017/08/20 Javascript
Nodejs调用WebService的示例代码
2017/09/29 NodeJs
vue2 mint-ui loadmore实现下拉刷新,上拉更多功能
2018/03/21 Javascript
ES6与CommonJS中的模块处理的区别
2018/06/13 Javascript
微信小程序五子棋游戏AI实现方法【附demo源码下载】
2019/02/20 Javascript
深入学习js函数的隐式参数 arguments 和 this
2019/06/24 Javascript
vue封装自定义指令之动态显示title操作(溢出显示,不溢出不显示)
2020/11/12 Javascript
浅谈Python中的数据类型
2015/05/05 Python
神经网络理论基础及Python实现详解
2017/12/15 Python
Python3多进程 multiprocessing 模块实例详解
2018/06/11 Python
解决Python print 输出文本显示 gbk 编码错误问题
2018/07/13 Python
Django 多环境配置详解
2019/05/14 Python
Python遍历字典方式就实例详解
2019/12/28 Python
Python基于yaml文件配置logging日志过程解析
2020/06/23 Python
利用python下载scihub成文献为PDF操作
2020/07/09 Python
高考考python编程是真的吗
2020/07/20 Python
Django如何使用asyncio协程和ThreadPoolExecutor多线程
2020/10/12 Python
Appium+Python实现简单的自动化登录测试的实现
2021/01/26 Python
英国顶级家庭折扣店:The Works
2017/09/06 全球购物
幼儿园六一儿童节文艺汇演主持词
2014/03/21 职场文书
乡村教师党员四风问题对照检查材料思想汇报
2014/10/08 职场文书
秋冬农业生产标语
2014/10/09 职场文书
艺术节开幕词
2015/01/28 职场文书
2016国庆节67周年红领巾广播稿
2015/12/18 职场文书