JavaScript 语法总结3
1. 数组初始化可以跳着来 var s = [1,2,,,,6]; // 中间省略的元素为undefined
2. 函数定义表达式: var f = function(args){ return 0;}; 得到的 f 是一个函数直接量而不是函数的返回值.
3. 访问对象的属性可以使用 . 和 [ ] , 但是只有后者可以放入一个表达式进行计算.
4. 运算符 in , instanceof 和 delete
- in : 做操作数是一个字符串(或可转换为字符串的值), 右操作数是一个对象, 如果右侧对象拥有一个名为左操作数值的属性名, 那么表达式返回true.
- instanceof: 左操作数是一个对象, 右操作数标识对象的类, 如果左侧对象是右侧类的实例, 则表达式返回true.
- delete: 用来删除对象属性或者数组的元素, 无返回值.
var point = {x:,y:};
console.log("x" in point);
console.log("z" in point);
console.log("toString" in point); // 继承来的
var data = [,,,]; //数组也是对象
console.log("0" in data); //有索引为0
console.log( in data); //有索引为1
console.log( in data); //没有索引为4
var d = new Date();
console.log(d instanceof Date);
console.log(d instanceof Object);
console.log(d instanceof Number); //false
var obj = {x:,y:};
delete obj.x;
console.log("x" in obj); //"false"
obj.y = undefined;
console.log("y" in obj);//"true", 使用undefined赋值后属性仍然在对象中存在
var array = [,,];
delete array[];
console.log( in array); //"false"
console.log(array[]);//"undefined",访问删除的属性返回 undefined
5. void运算符, 常用在 <a href="javascript:void window.open();"> , 是一个一元运算符, 出现在操作数之前, 操作数可以返回任意类型, 操作数会照常计算, 但忽略计算结果并返回undefined.
6. 函数的声明提前.
- 函数定义语句中的函数被显式地提前到来脚本或者函数的顶部(嵌套函数提前的外层函数的顶部), 因此他们在整个脚本和函数内是可见的, 如果使用var的话, 只有变量声明提前了, 而变量的初始化代码仍然在原来的位置, 而使用函数声明语句后, 函数的名称和函数体均提前了.
- 如果函数中用到全局变量, 但是这个变量又在函数定义之后会出现什么情况呢? -- 还是能正常引用, 因为函数体并没有执行.
7. with语句
- with语句: with(object) statement; 将object添加到作用域链的头部,然后执行statement, 最后把作用域链恢复.在严格模式中是禁止使用with语句的, 非严格模式也不推荐使用,因为难于优化.
with(document.forms[]){ //使得可以直接访问表单,下面的name等都是表单的属性
name.value = "";
address.value = "";
email.value = "";
}
-->
JavaScript 语法总结3的更多相关文章
- JavaScript:JavaScript语法的详细介绍
JavaScript语法:只要Java会了,基本上javascript语法就会了. ——变量的定义 ——程序的结构控制 ——数组操作 ——函数的定义即使用 基本的test.html代码如下,它会导入下 ...
- javascript语法详解
javascript语法:运算符 条件语句if...else... 条件语句switch 循环语句for 循环语句while 跳转语句 js运算符 1.算数运算符:+ - * % / ++ ...
- When Colon Scripting is comming(JavaScript语法扩充)
当冒号脚本来临-- JavaScript语法扩充 连续好几夜的不能安眠,得出结论就是,未来语言未来的编译器应该是支持语法定制规则和语法扩展的,这样使得编程语言不断进化以更利于人类使用!of cours ...
- Javascript语法基础
Javascript语法基础 一.基本数据类型 JavaScript中支持数字.字符串和布尔值三种基本数据类型: 1.数字 数字型是JavaScript中的基本数据类型.在JavaScript ...
- JavaScript语法细节——引用与复制
原文:JavaScript语法细节--引用与复制 我们都知道,JS中变量的赋值有两种方式,最近在折腾自己写的标签栏插件,碰到了很多平时没注意的问题.正好,那边处理清楚了,稍微整理一下关于引用与复制相关 ...
- 第九十八节,JavaScript语法、关键保留字及变量
JavaScript语法.关键保留字及变量 学习要点: 1.语法构成 2.关键字保留字 3.变量 任何语言的核心都必然会描述这门语言最基本的工作原理.而JavaScript的语言核心就是ECMAScr ...
- JavaScript 语法
一.JavaScript简介 1.JavaScript是个什么东西? 它是个脚本语言,需要有宿主文件,它的宿主文件是HTML文件. 2.它与Java什么关系? 没有什么直接的联系,Java是Sun公司 ...
- JavaScript DOM 编程艺术(1)---> JavaScript语法
一. JavaScript语法目录 语法 操作 条件语句 循环语句 函数 对象 二. 具体内容 2.1 语法 javaScript代码要通过HTML/XHTML文档才能执行.可以有两种方式完成这一 ...
- JavaScript语法详解:JS简介&变量
本文最初发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. JavaScript简介 Web前端有三层: HTML:从语义的角度,描 ...
- 读《javascript语法精粹》知识点总结
昨天泡了大半天的读书馆,一口气看完了<javascript语法精粹>这本书,总体来说这本书还是写的不错,难怪那么多的推荐.<javascript语法精粹>主要是归纳与总结了ja ...
随机推荐
- Struts2自定义标签3模仿原有的s:if s:elseif s:else自定义自己的if elsif else
第一步:webroot/web-inf下简历str.tld文件 <?xml version="1.0" encoding="UTF-8"?> < ...
- eclipse 3.7 中英文自由切换
最近在学习Java的开发,然后又很多的资料是对于的英文环境讲解,有的资料是对应的中文环境讲解,所以很都对不上号,郁闷啊....... 而且开发的时候,每个人都使用习惯也不相同:有的人喜欢英文界面,有的 ...
- 图解VS2005之单元测试
据说VS2005里即提供了测试功能,可是对于像我或者我们这样的开发人或团队真还没有进化到用测试这块.一直以来都是手工测试或等到用户发现问题.今天在网上找了一个介绍单元测试的WORD文档,按里面说的做了 ...
- ffmpeg C++程序编译时报__cxa_end_catch错误
解决方法在编译sh中加上 -lsupc++ 即可. 2.STL模块函数找不到,链接失败stdc++/include/bits/stl_list.h:466: error: undefined refe ...
- 字符串循环右移N位
给一个长度为n的字符串,把这个字符串循环右移N位(0<N<n),要求只用O(1)的额外空间和O(N)时间,有些什么方法 一开始想到的是先保存temp=s[0],在左起第N个移到s[0]的位 ...
- MHA配置文件说明
root@192.168.0.20 ~]# cat /etc/masterha/app1.cnf [server default] manager_workdir=/var/log/masterha/ ...
- <转--大话session>
大话Session 原文地址:http://www.cnblogs.com/shoru/archive/2010/02/19/1669395.html 结语 到这里,读者应该对session有了更多的 ...
- Java separatorChar 如何在Java里面添加 \
Java手册 separatorChar public static final char separatorChar 与系统有关的默认名称分隔符.此字段被初始化为包含系统属性 file.separa ...
- C++ 数据的封装 初始封装
C++ 数据封装 所有的 C++ 程序都有以下两个基本要素: 程序语句(代码):这是程序中执行动作的部分,它们被称为函数. 程序数据:数据是程序的信息,会受到程序函数的影响. 封装是面向对象编程中的把 ...
- 《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #9 RT Group Scheduling 与RT Throttling
HACK #9 RT Group Scheduling 与RT Throttling 本节介绍对实时进程所使用的CPU时间进行限制的功能RT Group Scheduling和RT Throttlin ...