JavaScript学习笔记整理_关于表达式和语句

表达式和语句

eval( ) 只有一个参数

参数非字符串时,直接返回这个参数;

参数为字符串时,它把字符串当成JavaScript代码进行编译,编译失败则抛出语法错误,编译成功则执行代码,并返回最后一条语句的值,若没有值则返回undefined

eval()使用了调用它的变量的作用域环境

它接收的字符串参数,在作为单独的代码时,必须是有语义的,否则编译失败

delete运算符:用来删除对象的自由属性、数组的元素,

删除属性后,属性将不存在,而删除数组元素后,会在数组内留下一个值为undefined的洞,数组长度不变;

尝试删除无法删除的属性返回false,若删除成功或删除操作不起作用时均返回true

delete无法删除:

1、内置核心、客户端属性不能删除;

2、用户通过var语句声明的变量不能删除;

3、通过function语句定义的函数和函数参数也不能删除

4、不可配置的属性无法删除

void运算符:void的操作数会正常执行,但会忽略操作数的值并返回undefined

void有如下作用:

* 通过采用void 0取undefined比采用字面上的undefined更靠谱更安全可靠;

* 填充<a>的href确保点击时不会产生页面跳转; 填充<image>的src,确保不会向服务器发出垃圾请求。href='javascript:void(0);'

不管break语句带不带标签,它的控制权都无法越过函数的边界!即不能从函数内部跳转到函数外部

Object.create( p , [x] )

该方法创建一个以对象p为原型的新对象,并返回该对象,可选的x是用以对对象属性的进一步描述;

var p1 = Object.create(p); //新建对象p1,它继承自对象p(以p为原型)

即p1的prototype(原型)属性的值为p

P.x和P['x']的区别:

P.x访问时,只能固定访问属性名为x的属性;

而P['x']比较灵活,可以动态的修改[ ]内字符串的值,来访问不同的属性,如P['x'+i]

逻辑与“&&”,逻辑或”||“的妙用:短路行为

通过&&,保证了读取length属性之前,book和book.subtitle都为真值,即为对象

var len = book && book.subtitle && book.subtitle.length;

保证x的值为:从a~f中,第一个为真值的值,忽略后面的真值

var x = a || b || c || d || e || f;
 
if( ! buy){...} 当buy为假值时,执行{...}

通过! ! x来得到一个等价的布尔值

以上就是小编为大家带来的JavaScript学习笔记整理_关于表达式和语句的全部内容了,希望对大家有所帮助,多多支持我们~

(0)

相关推荐

  • 整理Javascript流程控制语句学习笔记

    1.做判断(if语句) if语句是基于条件成立才执行相应代码时使用的语句. 语法: if(条件){ 条件成立时执行代码 } 例子:假设你应聘web前端技术开发岗位,如果你会HTML技术,你面试成功,欢迎加入公司. <script type="text/javascript"> var mycarrer = "HTML"; if (mycarrer == "HTML"){ document.write("你面试成功,欢迎加入公

  • javascript学习笔记(五)正则表达式

    常用到的元字符有: •. 查找单个字符,除了换行和行结束符: •\w 匹配字母.汉字.数字.下划线等符号: •\s 匹配空白符(包含空格.制表符等): •\d 匹配数字: •\b 匹配位于单词的开头或结尾的匹配: 常用的量词有: •^n 匹配任何开头为 n 的字符串: •n$ 匹配任何结尾为 n 的字符串: •n+ 匹配任何包含至少一个 n 的字符串: •n* 匹配任何包含零个或多个 n 的字符串: •n? 匹配任何包含零个或一个 n 的字符串: •n{X} 匹配包含 X 个 n 的序列的字符串

  • AngularJS基础学习笔记之表达式

    AngularJS通过表达式将数据绑定到HTML. AngularJS表达式 AngularJS表达式写在双大括号中:{{ 表达式语句 }}. AngularJS表达式绑定数据到HTML的方式与ng-bind指令的方式相同. AngularJS会准确地将表达式"输出"为计算的结果. AngularJS表达式与JavaScript表达式有许多相似之处,它们都包含文字.运算符和变量.例如{{ 5 + 5 }}和{{ firstName + " " + lastName

  • JavaScript 学习笔记之语句

    一.条件分支语句:if 基本格式: if (<表达式1>){     <语句组1> }else if (<表达式2>){     <语句组2> }else{     <语句组3> } 执行流程: 二.循环语句 2.1前测试循环语句:在循环体内的代码被执行之前就对出口条件求值. 2.1.1while语句 基本格式: do {     <语句组> } while (<表达式>) 执行流程: 2.1.2 for语句 基本格式:

  • 整理Javascript基础语法学习笔记

    1.什么是变量 字面意思:变量是可变的量: 编程角度:变量是用于存储某种/某些数值的存储器.我们可以把变量看做一个盒子,盒子用来存放物品,物品可以是衣服.玩具.水果...等. 2.表达出你的想法(表达式) 表达式与数学中的定义相似,表达式是指具有一定的值.用操作符把常数和变量连接起来的代数式.一个表达式可以包含常数或变量. 字符串表达式:"I" + "love" + "you" + mychar  //编写串表达式,值为字符串. 数值表达式:nu

  • JavaScript学习笔记整理_关于表达式和语句

    表达式和语句 eval( ) 只有一个参数 参数非字符串时,直接返回这个参数: 参数为字符串时,它把字符串当成JavaScript代码进行编译,编译失败则抛出语法错误,编译成功则执行代码,并返回最后一条语句的值,若没有值则返回undefined eval()使用了调用它的变量的作用域环境 它接收的字符串参数,在作为单独的代码时,必须是有语义的,否则编译失败 delete运算符:用来删除对象的自由属性.数组的元素, 删除属性后,属性将不存在,而删除数组元素后,会在数组内留下一个值为undefine

  • JavaScript学习笔记整理_用于模式匹配的String方法

    用于模式匹配的String方法: String支持4种使用正则表达式的方法: seach()用于检索,参数是一个正则表达式,返回第一个与之匹配的子串的位置,找不到则返回-1,如果参数不是正则表达式,则首先会通过RexExp构造函数将它转换成正则表达式,seach()方法不支持全局搜索,它忽略修饰符g: replace()用于检索与替换操作,第一个参数是一个正则表达式,第二个参数是要进行替换的字符串.它对调用该方法的字符串检索,按照模式匹配子串替换成第二个参数,若包含修饰符g则全文匹配.若第一个参

  • JavaScript学习笔记整理_简单实现枚举类型,扑克牌应用

    如下所示: //实现枚举类型,扑克牌应用 function creatEnum(p){ //构造函数 var Enumeration = function(){throw 'can not Instantiate Enumerations';}; //重写原型并将原型赋值给变量proto var proto = Enumeration.prototype = { constructor:Enumeration, toString:function(){return this.name;}, va

  • JavaScript学习笔记整理_setTimeout的应用

    setTimeou的t应用 var ids = []; function foo1(i) { this.i = i; console.log('i = '+i); ids[0] = setTimeout((function () { foo1(i); }),1000); } function foo2(j) { this.j = j; console.log('j = '+j); ids[1] = setTimeout((function () { foo2(j); }),1000); } fo

  • C#学习笔记整理_浅谈Math类的方法

    c#中Math类的方法 Math.Abs 已重载. 返回指定数字的绝对值. Math.Acos 返回余弦值为指定数字的角度. Math.Asin 返回正弦值为指定数字的角度. Math.Atan 返回正切值为指定数字的角度. Math.Atan2 返回正切值为两个指定数字的商的角度. Math.BigMul 生成两个 32 位数字的完整乘积. Math.Ceiling 已重载. 返回大于或等于指定数字的最小整数. Math.Cos 返回指定角度的余弦值. Math.Cosh 返回指定角度的双曲余

  • C#学习笔记整理_深入剖析构造函数、析构函数

    构造函数.析构函数 构造函数: 1.若没提供任何构造函数,则系统会自动提供一个默认的构造函数,初始化所有成员为默认值(引用类型为空引用null,值类型为0,bool类型为false): 2.若提供了带参数的构造函数,则系统不提供默认的构造函数: 3.构造函数可重载:可提供多个不同版本的构造函数,依据参数的个数.类型来区分: 4.私有构造函数:则无法通过该构造函数实例化该对象,可通过调用静态函数来实例化:当仅用作某些静态成员或属性的容器时,可定义私有构造函数来防止被实例化: 一般的构造函数都是实例

  • C#学习笔记整理_变量等基础语法(必看篇)

    C#学习笔记1: 变量的作用域冲突时,调用实例变量:this.a,调用类变量:类名.a 常量总是静态的,必须初始化,一般用全大写格式,声明关键字为const,如const int NUNBE = 10; C#的基本预定义类型内置于.NET Framework结构中(System),object是基类: 整型:System.SByte.System.Int16.System.Int32.System.Int64 有符号的8位.16位.32位.64位分别表示为sbyte.short.int.long

  • javascript学习笔记整理(概述、变量、数据类型简介)

    A.概述 1.输出工具: document.write()---可以是html alert()---字符串 prompt(text,defaultText) text---可选.要在对话框中显示的纯文本(而不是 HTML 格式的文本). defaultText---可选.默认的输入文本. 2.js的放置 a.可以再HTML的任何位置放置 b.但他是一个整体,相互影响 c.在超链接和重定向的位置 <a href="javascript:alert();"></a>

  • JavaScript学习笔记整理之引用类型

    引用类型是JavaScript中很重要的内容.引用类型是一种数据结构,用于将数据和功能组织在一起.它描述的是一类对象所具有的属性和方法.Object是一个基础类型,Array是数组类型,Date是日期类型,RegExp是正则表达式类型,等. 拥抱JavaScript 曾经名不经传的JavaScript随着AJAX的流行而身价倍增,现在JavaScript不再仅仅是WEB开发中一个可有可无的辅助工具,甚至有了专门属于它的职位"JavaScript工程师",那怕你仅仅是一名WEB后台开发程

  • javascript学习笔记_浅谈基础语法,类型,变量

    基础语法.类型.变量 非数字值的判断方法:(因为Infinity和NaN他们不等于任何值,包括自身) 1.用x != x ,当x为NaN时才返回true; 2.用isNaN(x) ,当x为NaN或非数字值时,返回true; 3.用isFinity(x),在x不是NaN.Infinity.-Infinity时返回true; 虽然(字符串.数字.布尔值)不是对象,他们的属性是只读的,但也可以像操作对象一样来引用他们的属性和方法,原理: javascript构造一个(String.Number.Boo

随机推荐