javascript 学习(2)

1.表达式

1.1原始表达式:包括常亮或直接量,关键字和变量。其中直接量是直接在表达式中出现的常量。

1.2对象和数组的初始化表达式:他们不是原始表达式,因为他们所包含的成员或元素都是子表达式。

注:对于var  arr = [,];在ie下数组长度为2,火狐和谷歌浏览器下长度为1,最后一个逗号后的创建新的undefined元素。

1.3 函数定义表达式

1.4属性访问表达式:得到的是一个对象属性或数组元素值,访问方式为 e.属性名称  或e[索引];如果访问结果为null或undefined,则抛出错误;如果属性名称是一个保留字或包含空格和标点符号或一个数字则必须使用方括号的写法。

1.5调用表达式  是一种调用(或执行)函数或方法的语法表示。它以一个函数表达式开始,这个函数表达式指要调用的函数,例 fn(0);

1.6 对象创建表达式  创建一个对象并调用一个函数(这个函数称为构造函数)

2.运算符

2.1 算数表达式

2.2 逻辑表达式

2.3 赋值表达式

优先级排序

在javascript中所有数字的类型都是浮点型,除法结果也是浮点型,同时 0/0 为NaN。

求余运算的结果通常为整型,但也适用于浮点数

2.4 关于“+”运算符:

(1)如果其中一个操作符是对象,则对象会遵循对象到原始值得转换规则转换为原始类值;

(2)在进行对象到原始值得转换后,如果其中一个操作数是字符串的话,另一个操作也可换成字符串,然后进行字符串连接。否则两者都会转换成数字或NaN,然后进行加法。

2.5  in运算:左边操作数是一个字符串或可以转换为字符串,右操作数是一个对象。如果右侧的对象拥有一个名为左操作数的值的属性,则返回true。

2.6  instanceof  左边操作符为一个对象,有操作数标识对象的类。如果左侧的对象是右侧类的实例则返回true;

2.7 eval()  如果一个函数调用了eval(),那么解析器无法对这个函数做进一步的优化。而将eval()定义为函数的另一个问题是他可以被赋予其他名字。

其只有一个参数,如果传入的不是字符串,他直接返回这个参数。如果是字符串则当成javascript进行编译,如果编译错误则报错,如果正确返回值,入没有值返回undefined。它查找变量的值和定义的新变量和函数的操作和局部变量中完全一样。直接调用eval()时,他总是在调用它的上下文作用域内执行,其他调用为则使用全局对象作为其上下文作用域,并且无法读、写、定义局部变量和函数。eval()允许我们执行那些对上下文没有任何依赖的全局脚本代码段。

注:ie定义了一个名叫ExecScript()全局函数来完成eval的功能。

2.8 typeof 返回值为操作值对象的的一个字符串

2.9 delete 用来删除对象属性或数组元素,但不能返回值;注:用户用var语句声明的不能被删除同样,通过function定义的函数和函数参数不能被删除。

例:

var ob ={x:1,y:2};
      delete ob.x;
       x in ob //false,x已经被删除不存在于ob内

2.10 void  出现在操作数之前操作数可以为任意类型,操作数会照常计算,但忽略结果并返回undefined

时间: 2024-11-13 15:04:25

javascript 学习(2)的相关文章

javascript学习

javascript 学习 title: Javascripttags: javascript,学习grammar_cjkRuby: true--- 定义变量 三种形式 var name; var name = "zhang san"; var name; name = "zhang san"; Javascript 的数据类型 6种数据类型 字符串单引号或双引号 var name = "zhang san"; var name = 'zhang

Javascript 学习笔记 2: 标识语句

可以在任何语句声明之前使用唯一标识(identifier)和冒号(:)用来标记该语句: identifier: statement 这样,你可以在程序的任何其他地方通过标识来使用这个语句.即使在语句内部也可以使用该语句的标识(例如:循环语句和条件语句).当在一个循环语句前添加一个标识,你可以在语句内部通过break 标识来退出当前循环,也可以通过continue标识来继续执行该语句.例如: mainloop: while(token != null) { // Code omitted... c

JavaScript学习之DIV层与图像

DIV层与图像 一.设计一个可定位的层 1.设置位置(position)和大小 (1)绝对定位(absolute):以页面边框为参照,只要设置好绝对位置,那么元素的位置会始终固定在距离边框某个位置的距离. 绝对定位有两个属性:left和top,分别是距离网页左边和网页顶部的绝对位置,可借助style属性直接设置: style="position:absolute;left:距离左边距离;top:距离顶部距离" (2)相对定位(relative):需要有一个参照元素,设置好相对位置和参照

JavaScript学习05 定时器

JavaScript学习05 定时器 定时器1 用以指定在一段特定的时间后执行某段程序. setTimeout(): 格式:[定时器对象名=] setTimeout(“<表达式>”,毫秒) 功能:执行<表达式>一次. 例子: <!DOCTYPE html> <html> <head> <title>timer1.html</title> <meta http-equiv="keywords" co

Javascript学习--------认识window窗口对象

window对象: Window 对象表示浏览器中打开的窗口. 可以通过window对象设置窗口的大小,位置等. 还可以控制是否加载网页等. window对象集合: 集合 描述 frames[] 返回窗口中所有命名的框架. 该集合是 Window 对象的数组,每个 Window 对象在窗口中含有一个框架或 <iframe>.属性 frames.length 存放数组 frames[] 中含有的元素个数.注意,frames[] 数组中引用的框架可能还包括框架,它们自己也具有 frames[] 数

Javascript学习------FileSystemObjec对象

动态创建FileSystemObject对象: var fso=new FileSystemObject("Scripting.FileSystemObject"); (接下来可以用变量fso对Drive对象.Drives集合.File对象.Files集合.Folder对象.Folders集合以及TextStream对象进行相应的操作.) FileSystemObject对象的方法 ·GetAbsolutePathName()方法:该方法根据提供的路径返回完整的路径. ·GetBase

javascript学习笔记---ECMAScript-判断变量类型

判断类型之前,先要清楚有哪些类型. (理理思路:程序由数据和方法构成,数据由简单数据和复杂数据构成) 即类型有: 数据(简单数据:boolean,string,num,undefined,null.复杂数据:object), 方法(function) 万能的typeof,神一样的方法 typeof(1);// num typeof("hello");// string   typeof(false);// boolean var vFlag; typeof(vFlag);// unde

HTMl5/CSS3/Javascript 学习推荐资源

HTMl5/CSS3/Javascript 学习推荐资源 前端的定义应该是数据内容的展示,在国内大家都觉得前端只是HTML+CSS+Javascript,但是实际上与展示有关的都是前端,所以Ruby/Python/Nodejs/Java/ASP .NET只要和展示有关的部分都可以称之为前端.在这里由于篇幅的限制,我们只推荐与HTML+CSS+Javascript三者有关的前端技术 入门 w3school html5 简单HTML5的入门教程 w3school css3 简单的CSS3入门教程 J

javascript学习4-练习之1转置矩阵

1.做了个小小练习,对矩阵进行转置和对不规则的二维数组进行行列互换(不规则二维数组不存在有转置矩阵一说).用以加深对二维数组的理解. 2.效果图如下: 3.两种方式的代码分别如下: 3.1规则矩阵转置: 1 //规则转置 2 var array2=[[1,2,3],[4,5,6]]; 3 var array22=new Array(); 4 array22[0]=new Array(2); 5 array22[1]=new Array(2); 6 array22[2]=new Array(2);

javascript学习3-自定义函数

javascript自定义函数,很简单的小例子. 实现效果:输入两个数和运算符号,根据不同运算符对数据进行计算,返回值 代码: 1 <html> 2 <head> 3 <script type="text/javascript"> 4 var num1=window.prompt('请输入第一个num'); 5 var num2=window.prompt('请输入第二个num'); 6 var operator=window.prompt('请输入