博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javascript基本语法总结
阅读量:6911 次
发布时间:2019-06-27

本文共 2152 字,大约阅读时间需要 7 分钟。

一、概括

javascript是浏览器的广泛支持的脚本语言,接收用户事件,处理web文档内容。下文没有提到的基本语法要素基本与c语言相同。

二、词法结构

  2.1、支持unicode。

  2.2、大小写敏感,忽略空白符,和C++兼容的注释。

  2.3、不同行代码之间的分号是可选的。

  2.4、标识符开头可以是$,字母,下划线。

三、基本数据类型

  js是动态语言,数据类型是动态推定的。

  3.1、数字类型

  3.2、字符串,单引号字符串和双引号字符串

  3.3、BOOL类型,true 和 false

  3.4、NULL

  3.5、undefined

四、变量定义

  4.1、变量用var定义

  4.2、变量作用域范围是函数,没有类似与C语言的块级作用域

五、表达式和运算符

  5.1、>> 算术右移,>>> 逻辑右移

  5.2、===,!== 不进行类型转换强类型对象的相等性判断。

六、语句

  6.1、for(var in array){}

  6.2、try{throw;}catch(e){}finnally{}

  6.3、with语句临时改变名称空间。

七、函数

js中的函数是非常灵活的,既支持函数式编程,也和对象的生成有这紧密的联系。

  7.1、普通的函数定义

function add(x,y){    return (x+y);}

  7.2、js的函数是可以嵌套的,可以把js函数看成是一个特殊的语句块,可以出现在程序的其他函数或者语句之中。

function fun1(){	var str1="string in fun1";	fun2(); //嵌套在函数里的函数可以在外围函数中任意位置调用	function fun2()	{		var str2="string in fun2";		fun3();		function fun3()		{			var str3="string in fun3";			alert(str1);//里层函数外围函数变量的访问权--闭包			if(2 > 1)			{				function fun_in_if()				{					alert("function in if");				}				fun_in_if(); //在语句里建立的函数只能在函数定义位置后对其调用			}		}	}}

  7.3、匿名函数

var f1=function(){alert("anonymous function!")};var f2=new Function("x","alert(x);"); //最后一个为函数体f1();f2(100);

八、对象

  8.1、js中的对象就是hash(属性与值的映射)

 

var obj1={};//空对象var obj2={"first":2,"second":2,"third":3};alert(obj2["first"]);alert(obj2.third);for(var1 in obj2){	alert(var1);}

  8.2、函数当做构造函数

每个函数被调用时,都会默认传入一个this应用,函数可以对这个对象的引用this进行操作,当用new调用这个函数时就会产生一个对象,当然也可以用return返回其他对象。

function person(age,country){	this.age=age;	this.country=country;		p2={"age":31,country:"japan"};	return p2; //如果没有return,则返回this。}var p1=new person(28,"justsong");alert(p1.age);alert(p1.country);

  8.3、函数的this参数

function person(age,country){	this.age=age;	this.country=country;}var p1=new person(28,"justsong");alert(p1.age);alert(p1.country);person.call(p1,31,"japan"); //修改年龄和国籍,通过call把对象引用传递给thisalert(p1.age);alert(p1.country);

  8.4、原型继承

js中的对象不是建立在类的基础上的,不是现有类后有对象,而继承的机制也是通过直接继承对象来实现的。

var obj1={"first":1,"second":2};		function createobj(age,country){	this.age=age;	this.country=country;}createobj.prototype=obj1; //实现继承var obj2=new createobj(28,"china");alert(obj2.age);alert(obj2.second);

转载于:https://www.cnblogs.com/eroshn/archive/2011/06/14/2080723.html

你可能感兴趣的文章
JS去遍历Table的所有单元格中的内容
查看>>
LeetCode解题思路:3. Longest Substring Without Repeating Characters
查看>>
FontMetrics属性的介绍
查看>>
mysql 时间戳
查看>>
HDU 4734 F(x) DP, 数位DP
查看>>
剑指offer 快速排序
查看>>
Codeforces 894 A B 组合数学 比赛
查看>>
Python学习
查看>>
[1480]数据结构实验:哈希表 sdutOJ
查看>>
Entity Framework的启动速度优化
查看>>
C# .NET Socket封装
查看>>
SQLServer随机取记录
查看>>
Python数据结构与算法
查看>>
vim插件ctags的安装和使用
查看>>
C语言面试题汇总之一
查看>>
linux重新设置密码,亲试成功
查看>>
无法创建链接服务器 "xxx" 的 OLE DB 访问接口 "OraOLEDB.Oracle" 的实例。 (Microsoft SQL Server,错误: 7302)...
查看>>
vue去除地址栏上的'#'号
查看>>
[转]Linux下which、whereis、locate、find 命令的区别
查看>>
BZOJ4566:[HAOI2016]找相同字符——题解
查看>>