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 相关文章推荐
jquery实现弹出层遮罩效果的简单实例
Mar 03 Javascript
JavaScript遍历table表格中的某行某列并打印其值
Jul 08 Javascript
jquery仿百度百科底部浮动导航特效
Aug 08 Javascript
js实现div模拟模态对话框展现URL内容
May 27 Javascript
jQuery页面加载初始化的3种方法(推荐)
Jun 02 Javascript
Javascript类型系统之undefined和null浅析
Jul 13 Javascript
微信小程序 下拉菜单的实现
Apr 06 Javascript
微信小程序合法域名配置方法
May 06 Javascript
微信小程序页面上下滚动效果
Nov 18 Javascript
vue 实现动态路由的方法
Jul 06 Javascript
Vue+Bootstrap收藏(点赞)功能逻辑与具体实现
Oct 22 Javascript
vue3中轻松实现switch功能组件的全过程
Jan 07 Vue.js
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验证码的实现原理 附php验证码小案例
2016/08/17 PHP
任意位置显示html菜单
2007/02/01 Javascript
javascript 选择文件夹对话框(web)
2009/07/07 Javascript
Javascript 获取滚动条位置等信息的函数
2009/09/08 Javascript
两个比较有用的Javascript工具函数代码
2010/02/17 Javascript
父子窗体间传递JSON格式的数据的代码
2010/12/25 Javascript
Jquery 绑定时间实现代码
2011/05/03 Javascript
图片Slider 带左右按钮的js示例
2013/08/30 Javascript
jquery如何实现锚点链接之间的平滑滚动
2013/12/02 Javascript
引用其它js时如何同时处理多个window.onload事件
2014/09/02 Javascript
JS实现文字向下滚动完整实例
2015/02/06 Javascript
jQuery解析json格式数据简单实例
2016/01/22 Javascript
jQuery基于$.ajax设置移动端click超时处理方法
2016/05/14 Javascript
JavaScript数组的定义及数字操作技巧
2016/06/06 Javascript
JS中数组重排序方法
2016/11/11 Javascript
bootstrap滚动监控器使用方法解析
2017/01/13 Javascript
Angular2 组件间通过@Input @Output通讯示例
2017/08/24 Javascript
js实现可以点击收缩或张开的悬浮窗
2017/09/18 Javascript
Angular2仿照微信UI实现9张图片上传和预览的示例代码
2017/10/19 Javascript
layui实现table加载的示例代码
2018/08/14 Javascript
了解重排与重绘
2019/05/29 Javascript
JS插入排序简单理解与实现方法分析
2019/11/25 Javascript
基于vue中的scoped坑点解说
2020/09/04 Javascript
在Python的Flask框架下收发电子邮件的教程
2015/04/21 Python
Python django使用多进程连接mysql错误的解决方法
2018/10/08 Python
只需7行Python代码玩转微信自动聊天
2019/01/27 Python
Pytorch转onnx、torchscript方式
2020/05/25 Python
Python实现迪杰斯特拉算法过程解析
2020/09/18 Python
俄罗斯电动工具和设备购物网站:Vseinstrumenti.ru
2020/11/12 全球购物
存储过程的优缺点是什么
2015/01/10 面试题
村创先争优活动总结
2014/08/28 职场文书
毕业横幅标语
2014/10/08 职场文书
立项申请报告范本
2015/05/15 职场文书
律师催款函范文
2015/06/24 职场文书
幼儿园教师辞职信
2019/06/21 职场文书
MySQL表字段时间设置默认值
2021/05/13 MySQL