JavaScript控制流和表达式】的更多相关文章

一.with语句 使用with语句可以简化JavaScript语句的一些类型,即把一个对象的多个引用降为一个引用,对with块里的属性和方法的引用将被看作是对对象的引用. <script> string = "The quick brown for jumps over the lazy dog" with(string) { document.write("the string is " + length + " characters<…
学习JavaScript控制流及关键字概念前,对有过C语言学习经验的同学来说,那么关键字,控制语句概念并不陌生.我们先来看看C语言吧: C语言的32个关键字和9种控制语句 9种控制语句: if.if-else.while.do-while.for.switch.break.continue.return 32个关键字: auto :声明自动变量 一般不使用 根据关键字的作用,可以将关键字分为数据类型关键字和流程控制关键字两大类: auto double int struct break else…
4.1 原始表达式 原始表达式是最简单的表达式~它不再包含其他表达式.它包含:直接量(程序中直接显示出来的数据值.)常量(程序中不会被修改的量)变量. 4.2 对象和数组的初始化表达式 对象和数组初始化表达式是一个新创建的对象和数组,他们都可以嵌套. 这写初始化表达式并非和布尔直接量一样是原始表达式,对象和数组包含的成员或元素都是子字表达式. 数组 数组和对象表达式,成员或元素都是由逗号隔开. 数组初始化表达式是由对方括号和其内由逗号隔开的列表构成.初始化的结果是一个新创建的数组. 数组初始化表…
× 目录 [1]原始表达式 [2]复杂表达式 前面的话 一般地,关于javascript基础语法,人们听得比较多的术语是操作符和语句.但是,其实还有一个术语经常使用,却很少被提到,这就是javascript表达式(expression).本文将详细介绍javascript表达式,表达式分为原始表达式和复杂表达式 原始表达式(primary exression) 原始表达式是表达式的最小单位——它不再包含其他表达式 原始表达式分为字面量.关键字和变量:详细来说包括this关键字.标识符引用.字面量…
本系列内容为本人平时项目实践和参照MDN,MSDN,<javascript语言精粹>,<Effective Javascript>等资料,并且整理自己EverNote的日常积累整理所写,时间太长有一些代码样例来源不可考.本系列不允许任何形式的转载,谢谢. from yeanzhi 大纲 第一天:javascript变量,操作符与变量作用域 第二天:javascript函数 第三天:对象与原型 第四天:再谈函数与继承 第五天:内置对象 第六天:特殊性质与技巧 第一天:javascri…
说明 本系列属于进阶系列,语常用语法等不在本系列介绍范围之内. 在我刚开始做一个程序员并开发项目的时候,我总是喜欢使用开发语言的各种特性,每次m$发布新版C#的时候我总是会把开发者预览版下好,亲自体验,并期望从中获得快感,每次使用新的语言进行程序设计的时候,我总是喜欢掌控他有趣的地方,尽管很多与软件工程有悖.这似乎让我出过很多风头,别人的问题似乎没有什么能难倒我的,后来在我开始从工程领域思考问题的时候,我发现很多特点给我带来的"编程快感"引发的麻烦超过了快感本身的价值,很多地方难以被同…
原文:Javascript学习2 - Javascript中的表达式和运算符 Javascript中的运算符与C/C++中的运算符相似,但有几处不同的地方,相对于C/C++,也增加了几个不同的运算符,包括in,instanceof,typeof,delete. 需要熟悉一下. 2.1 in运算符 in运算符要求左边的运算数是一个字符串,或者可以被转换为字符串,右边的运算数是一个对象或数组.     如果运算符左边的值是右边对象的一个属性名,返回为true. delete o; // 不能删除,r…
原始表达式 最简单的表达式是"原始表达式"(primary expression).JavaScript中的原始表达式包含常量或直接量.关键字和变量. // 常量或直接量 1.23 //数字直接量 "hello" //字符串直接量 /pattern/ //正则表达式直接量 // 关键字 true //返回一个布尔值:真 false //返回一个布尔值:假 null //返回一值 :空 this //返回”当前“ 对象 //变量 i //返回变量i的值 sum //返…
本章要点 表达式是javascript中的一个短语,javascript解释器会将其计算出一个结果. 程序中的常量.变量名就是一种简单的表达式.复杂的表达式是由简单的表达式组成的,比如数组访问表达式.函数调用表达式等等. 将简单表达式组合成复杂表达式最常用的方法就是使用运算符. 1.原始表达式 最简单的表达式.是表达式的最小的单位.包含常量或直接量.关键字和变量. 当JavaScript代码中出现标识符,JavaScript会将其当做变量而去查找它的值.如果变量名不存在,表达式运算结果为unde…
表达式的概念:将同类型的数据(如常量.变量.函数等),用运算符号按一定的规则连起来的.有意义的式子称为表达式 一.原始表达式 最简单的表达式,是表达式的最小单位.JavaScript中的原始表达式包含常量或直接量.关键字和变量 1.直接量: 1.23  //数字直接量 “hello”  //字符串直接量 /pattern/  //正则表达式直接量 2.关键字: true  //返回一个布尔值:真 false  //返回一个布尔值:假 null  //返回一个值:空 this  //返回“当前”对…
表达式 表达式是关键字.运算符.变量以及文字的组合,用来生成字符串.数字或对象.一个表达式可以完成计算.处理字符.调用函数.或者验证数据等操作. 表达式的值是表达式运算的结果,常量表达式的值就是常量本身,变量表达式的值则是变量引用的值. 在实际编程中,可以使用运算数和运算符建立复杂的表达式,运算数是一个表达式内的变量和常量,运算符是表达式中用来处理运算数的各种符号. 常量表达式:"skycobra" 变量表达式:example 赋值表达式:stringExample = “小郭” 运算…
表达式和语句 eval( ) 只有一个参数 参数非字符串时,直接返回这个参数: 参数为字符串时,它把字符串当成JavaScript代码进行编译,编译失败则抛出语法错误,编译成功则执行代码,并返回最后一条语句的值,若没有值则返回undefined eval()使用了调用它的变量的作用域环境 它接收的字符串参数,在作为单独的代码时,必须是有语义的,否则编译失败   delete运算符:用来删除对象的自由属性.数组的元素, 删除属性后,属性将不存在,而删除数组元素后,会在数组内留下一个值为undefi…
创建函数 创建函数的方式有两种:1.函数声明,2.函数表达式 函数声明的语法为 functionName(); //不会报错,函数声明提升function functionName(arg0,arg1,arg2) { //do somethings; }alert(functionName.name); //输出 functionName 也可以采用函数表达式创建函数 functionName(); //会报错,此时 functionName 仅仅是 var functionName,其值为 u…
其实: a=a||"defaultValue"; 与: if(!a){ a="defaultValue"; } 和: if(a==null||a==""||a==undefined){ a="defaultValue"; } 是等价的! 为了弄清这个问题,首先我们必须了解一个问题:javascript中数据类型在转换为bool类型时发生了什么. 在javascript中,数据类型可以分为“真值”和“假值”.顾名思义,真值转换为…
在javascript中,函数有两种定义写法,函数定义表达式和函数声明,其例子分别如下所示: var test = function(x){ return x; } function test(x){ return x; } 尽管函数定义表达式和函数声明语句包含相同的函数名,并且都创建了新的函数对象,但是这二者却有区别. 函数声明语句中的函数名是一个变量名,变量指向函数对象. 函数定义表达式和通过var声明变量一样,其函数被提前到了脚本或函数的顶部,因此它在整个脚本和或函数内都是可见的.这样的话…
在javascript中,函数有两种定义写法,函数定义表达式和函数声明,其例子分别如下所示: var test = function(x){ return x; } function test(x){ return x; } 尽管函数定义表达式和函数声明语句包含相同的函数名,并且都创建了新的函数对象,但是这二者却有区别. 函数声明语句中的函数名是一个变量名,变量指向函数对象. 函数定义表达式和通过var声明变量一样,其函数被提前到了脚本或函数的顶部,因此它在整个脚本和或函数内都是可见的.这样的话…
我们都知道定义函数的方式有两种,一种是函数声明,另外一种就是函数表达式. 函数声明 语法为:function关键字后跟函数名.例如: function functionName(arg0) { //函数体 } alert(functionName.name) // "functionName" 函数声明最主要的特征就是函数声明的提升,所以我们可以把函数声明放在调用它的语句的后面,因为执行代码前会先读取函数声明.比如: hello(); function hello(){ alert(&…
语句和表达式 所有的块语句都应当使用花括号.包括: if for while do…while… try…catch…finally //不好的写法 if (condition) doSomethind(); //不好的写法 if (condition) doSomething(); //好的写法 if (condition) { doSomethind(); } //不好的写法 if (condition) { doSomething(); } 花括号的对齐方式 两种风格:第一种将花括号放置在…
一.表达式 1.原始表达式:2.14,"test",true/false,null--复合表达式:10*20-- 2.数组.对象的初始化表达式:new Array(1,2),[1,undefined,4],{x:1,y:2}=>var o = new Object();o.x=1;o.y=2;-- 3.函数表达式:var fe = function(){}; (function(){console.log('hello');})()-- 4.属性访问表达式:var o = {x:…
in运算符 in运算符希望它的左操作数是一个字符串或可以转换为字符串,希望它的右操作数是一个对象. 如果右侧的对象拥有一个名为做操作数值的属性名,那么表达式返回true,例如: var point= {x:1 , y:1 }; //定义一个对象 "x" in point //=>true: 对象有一个名为"x"的属性 "z" in point //=>false: 对象不存在名为"z"的属性 "toStr…
一.前言        接着上一篇的内容,继续学习JavaScript. 二.内容       函数的声明 function functionName(arg0,arg1,arg2){ //函数体 } 递归 var factorial = (function f(num){ if(num<=1){ return 1; } else{ return num*f(num-1); } }); 闭包 //闭包与变量 闭包只能取得包含函数中任何变量的最后一个值.闭包所保存的是整个变量对象,而不是某个特殊的…
前文已经简单的介绍了函数的闭包.函数的闭包就是有权访问另一个函数作用域的函数,也就是函数内部又定义了一个函数. var Super=function(num){ var count=num; return function(){ console.log(count); } } var result=Super(3);//此时result是一个函数 result();//输出3 上面的代码定义了一个函数Super,同时在Super函数内部又定义了一个匿名函数作为返回值.第七行调用Super函数,此…
函数表达式的特征 使用函数实现递归 使用闭包定义私有变量 前面我们说到定义函数有两种方式:函数声明.函数表达式. 两者的区别在于函数声明提升,前者在执行之前的上下文环境中直接被赋值,而后者不会. 一.递归 递归函数是一个函数通过名字调用自身的情况下构成的.      function factorial(num){          if(num<1){              return 1;          }else{              return num * argume…
函数的定义 函数声明 由三部分组成:函数名,函数参数,函数体 函数体没有使用return关键字返回函数时,函数调用时返回默认的undefined:如果有使用return语句,则返回指定内容 function keith() {} console.log(keith()) // 'undefined' function rascal(){ return 'rascal'; } console.log(rascal()) // 'rascal' 函数声明是在预执行期执行的,也就是说函数声明是在浏览器…
属性访问表达式运算得到一个对象属性或一个数组元素的值.js为属性访问定义了2中语法: expression.identifier expression["expression"] 不管使用何种形式属性访问表达式,在.和[之前的表达式钟会首先计算,如果计算结果是null或undefined,则表达式会抛出一个类型错误异常,因为这两个值都不能包含任意属性. 显然.identifier的写法更加简单,单这种方法只适用于要访问的属性名称是合法的标示符,且需要知道要访问的属性名字.如果属性名称是…
这段时间在做Quartz任务调度,使用的Crontab表达式实现的.Crontab由前端页面输入,作为参数穿入后台. 虽然Quartz具有校验Crontab表达式的方法,如下: boolean cronExpressionFlag = CronExpression.isValidExpression(crontab); 但是我一直想在前端直接验证,即不需要通过异步的方式向后台获取验证结果,找了好久,发现没有现成的框架可以使用,于是自己根据网上搜索到的资料,写了这个js脚本. 这个脚本目前对日和星…
递归函数,在前面的博客中已经简单的介绍了.递归函数是一个通过函数名称在函数内部调用自身的函数.如下: function fac(num){ if(num<1){ return 1; } else{ return num*fac(num-1); } } 上面的代码,在第一行声明了一个fac函数,同时在6行调用了fac函数本身.这是一个求阶乘的递归函数. var anthorfacc=fac; fac=null; anthorfacc(4);//抛出异常 上面的代码,在第一行声明了一个变量antho…
#函数表达式 ##函数声明和函数表达式的区别 函数的定义有两种形式,一种是函数声明,一种是函数表达式 使用声明时,要注意函数声明提升现象,比如说在if语句中使用声明会出错,但是表达式就不存在这个问题 表达式要在使用前定义,而声明不用 通过声明会获得一个name属性,而表达式中其name为空 function fn() {}     var fn1 = function() {};     console.log(fn.name);    //fn     console.log(fn1.name…
1.表达式的概念 由运算符连接操作组成的式子,不管式子有多长,最终都是一个值. 2.算术运算符 加+ 减- 乘* 除/ 取模% 负数- 自增++ 自减-- 3.比较运算符 等于==  严格等于===  不等于!=  非严格全等!==  大于>  小于<  大于等于>=  小于等于<= 比较运算表达式的结果是布尔值. 4.逻辑运算符 逻辑与&&  逻辑或||  逻辑非! 逻辑表达式的结果为布尔值 5.位运算 按位与& 按位或| 按位异或^ 位非运算~ 左移&l…
JavaScript中创建函数主要有两种方法:函数声明和函数表达式.这两种方式都有不同的适用场景.这篇笔记主要关注的是函数表达式的几大特点以及它的使用场景,下面一一描述. 主要特点 可选的函数名称 函数名称是函数声明的必需组成部分,这个函数名称相当于一个变量,新定义的函数会复制给这个变量,以后函数的调用都需要通过这个变量进行.而对于函数表达式来说,函数的名称是可选的,例如下面的例子: var sub = function(a1,a2){ return a1-a2; } 这个例子中函数表达式没有名…