JS_高程3.基本概念(3)】的更多相关文章

ECMA-262用于操作数据值的操作符包括: 算术操作符 位操作符 关系操作符 相等操作符 ECMAScript操作符的不同之处在于:它能够适用于很多值,包括字符串,数字值,布尔值,甚至是对象.(在应用于对象时,相应的操作符通常会调用对象的valueOf()和(或)toString()方法,以便取得可以操作的值.) 1.一元操作符 (1)递增和递减操作符 需要注意的是: eg: 前置++age:变量的值在语句被求值之前改变. 后置age++:变量的值在语句被求值之后改变. 执行前置递增和递减操作…
1.ECMAScript数值的范围 由于内存的限制,在大多数浏览器中,ECMAScript能够拿保存的数据的范围是 5e-324 ~ 1.7976931348623157e+308,其中最小的数值保存在Number.MIN_VALUE中,最大的数值保存在Number.MAX_VALUE中. 如果在计算的结果超出这个数值的范围,这个数值会自动被转换成特殊的Infinity值,具体来说,如果是负数,会被转换成 -Infinity(负无穷),如果是正的,会被转换成 +Infinity(正无穷). 需要…
1.ECMAScript数据类型 5种简单数据类型,分别是: Undefined Null Boolean Number String 1种复杂数据类型: Object (1)typeof操作符——检测给定变量的数据类型 “undefined”——未定义 “boolean”——布尔值 “string”——字符串 “number”——数值 “object”——对象或是null “function”——函数 eg: <script type="text/javascript">…
1.语法 (1)ECMAScript中的一切(变量,函数名和操作符)都是区分大小写的. (2)标识符 标识符的第一个字符必须是字母,下划线或是美元符号. 其他字符可以是字母,下划线,美元符号和数字. ECMAScript标识符采用驼峰大小写的格式. (3)严格模式(strict mode) 严格模式是为了Javascript定义了一种不同的解析与执行模型.在严格模式下,ECMAScript3中的一些不确定的行为将得到处理,而且对某些不安全的 操作也会抛出错误. 要在整个脚本中启用严格模式,可以在…
1.ECMAScript中的函数使用function关键字来声明. eg: function sum (num1,num2){ alert(num1+num2); } sum(3,7); 注意: 在有return语句的函数中,函数会在执行完return语句后停止并立即退出.因此,位于return语句之后的任何代码都永远不会执行. eg: function sum (num1,num2){ return num1+num2; alert("Hello!");//永远不会执行. } ale…
1.if语句 2.do-while语句:后测循环语句,循环体内的代码至少执行一次. 3.while语句:前测循环语句. 4.for语句:前测循环语句. 注意:在ECMAScript中不存在块级作用域,因此在循环内部定义的变量也可以在外部访问到. eg: var count=10; for(var i=0;i<count;i++){ alert(i); } alert(i); 以上代码的执行效果是,弹出从0到9的警告框,这是for语句循环的结果,最后弹出显示10的警告框,这是for循环外的那条语句…
ECMA-262用于操作数据值的操作符包括: 算术操作符 位操作符 关系操作符 相等操作符 ECMAScript操作符的不同之处在于:它能够适用于很多值,包括字符串,数字值,布尔值,甚至是对象.(在应用于对象时,相应的操作符通常会调用对象的valueOf()和(或)toString()方法,以便取得可以操作的值.) 1.一元操作符 (1)递增和递减操作符 需要注意的是: eg: 前置++age:变量的值在语句被求值之前改变. 后置age++:变量的值在语句被求值之后改变. 执行前置递增和递减操作…
1.ECMAScript数值的范围 由于内存的限制,在大多数浏览器中,ECMAScript能够拿保存的数据的范围是 5e-324 ~ 1.7976931348623157e+308,其中最小的数值保存在Number.MIN_VALUE中,最大的数值保存在Number.MAX_VALUE中. 如果在计算的结果超出这个数值的范围,这个数值会自动被转换成特殊的Infinity值,具体来说,如果是负数,会被转换成 -Infinity(负无穷),如果是正的,会被转换成 +Infinity(正无穷). 需要…
1.ECMAScript数据类型 5种简单数据类型,分别是: Undefined Null Boolean Number String 1种复杂数据类型: Object (1)typeof操作符--检测给定变量的数据类型 "undefined"--未定义 "boolean"--布尔值 "string"--字符串 "number"--数值 "object"--对象或是null "function&q…
1.语法 (1)ECMAScript中的一切(变量,函数名和操作符)都是区分大小写的. (2)标识符 标识符的第一个字符必须是字母,下划线或是美元符号. 其他字符可以是字母,下划线,美元符号和数字. ECMAScript标识符采用驼峰大小写的格式. (3)严格模式(strict mode) 严格模式是为了Javascript定义了一种不同的解析与执行模型.在严格模式下,ECMAScript3中的一些不确定的行为将得到处理,而且对某些不安全的 操作也会抛出错误. 要在整个脚本中启用严格模式,可以在…
1. instanceof操作符(ECMAScript3) 对于一个网页,或者是一个全局作用域而言,使用instanceof操作符来检测数组就可以得到满意的结果. 语法:if(value instanceof Array){ //对数组执行某些操作 } eg: var colors=["red","pink"]; var n=18; var isArray=colors instanceof Array;//返回true var isArray1=n instanc…
1.javaScript诞生于1995年,最开始是为了处理以前由服务器端语言负责的一些诸如验证的操作. 2.一些名词: ECMA:European Computer Manufacturers Association.欧洲计算机制造商协会. ECMA-262:一种名为ECMAScript(ek-ma-script)的新脚本语言的标准. ISO/IEC:International Organization for Standardization and International Electrot…
1.ECMAScript中的函数使用function关键字来声明. eg: function sum (num1,num2){ alert(num1+num2); } sum(3,7); 注意: 在有return语句的函数中,函数会在执行完return语句后停止并立即退出.因此,位于return语句之后的任何代码都永远不会执行. eg: function sum (num1,num2){ return num1+num2; alert("Hello!");//永远不会执行. } ale…
1.if语句 2.do-while语句:后测循环语句,循环体内的代码至少执行一次. 3.while语句:前测循环语句. 4.for语句:前测循环语句. 注意:在ECMAScript中不存在块级作用域,因此在循环内部定义的变量也可以在外部访问到. eg: var count=10; for(var i=0;i<count;i++){ alert(i); } alert(i); 以上代码的执行效果是,弹出从0到9的警告框,这是for语句循环的结果,最后弹出显示10的警告框,这是for循环外的那条语句…
1.全局作用域 var age = 14; window.coloer = "pink"; console.log(delete window.age);//false 使用var语句添加的window属性的[[Configurable]]的特性的值为false,因此不能通过delete操作符删除. console.log(delete window.color);//true console.log(window.age); console.log(window.color);//u…
递归函数:一个函数通过名字调用自身的情况构成的.eg: //递归实现阶乘 function factorial(num){ if(num <= 1){ return 1; }else{ return num * factorial(num - 1); } } console.log(factorial(4)); #  正常情况下,以上函数是没有问题的,但是如果出现以下操作,会出现问题.原因是即使先把factorial保存到anotherFactorial变量后,再将factorial置为null…
定义函数的两种常见的方法: 1 . 函数声明 2. 函数表达式 # 差异 (1)函数声明 ,具有函数声明提升的特征. (2)函数声明的函数的name属性为函数的名称:使用函数表达式定义的函数在ES5中,name属性为空字符串,在ES6中为函数的名称.  #  函数声明提升 函数声明 sayHello();//在函数声明之前调用函数不会报错,因为函数声明提升. function sayHello(){ console.log("Hello!");//Hello! console.log(…
js的数据属性:P139(1)[[Configurable]](2)[[Enumerable]](3)[[Writable]](4)[[Value]] 使用Object.definerPropert()方法修改属性的默认值,接收的参数:(1)属性所在的对象(2)属性的名字(3)一个描述符对象(Configurable,Enumerable,Writable,Value) // 'use strict' var person = { name: "Jack", age: 12, job:…
# 上次讲到用构造函数的模式来创建对象,相对于工厂模式,解决可对象识别的问题. function Person(name,age,job){ this.name=name; this.age=age; this.job=job; this.sayname=function(){ console.log(this.name); } } var person1=new Person("xiaoming",12,"Doctor"); person1.sayname();/…
1.构造函数也是一般函数,以下创建一个构造函数. var Person=function(name,age,job){ this.name=name; this.age=age; this.job=job; this.sayname=function(){ console.log(this.name); } } (1)使用构造函数的方式调用 var person=new Person("xiaoming",21,"Doctor"); person.sayname()…
一.创建对象的常见方法 (1)Object构造函数创建单个对象,早期的JavaScript开发人员经常使用该模式创建新对象. var person=new Object(); person.name="xiaoming"; person.age=16; person.job="Software Engineer"; person.sayname=function(){ console.log(this.name); } person.sayname();//xiao…
一.位置方法 ECMAScript5为数组实例添加了两个位置:indexOf()和 lastIndexOf().这两个方法接收两个参数:要查找的项和(可选的)表示查找起点位置的索引(如在数组[7,8,9,1,0]中,“7”在第一个位置,它的索引是0.).其中,indexOf()方法从数组的开头(位置0)开始向后查找,lastIndexOf()方法从数组的末尾开始向前查找. 注意: 这两个方法都返回要查找的项在数组中的位置,在没有找到的情况下返回-1. 在比较第一个参数与数组中的每一项时,使用的是…
一.操作方法 1.concat()方法 基于当前数组中的所有项创建一个新数组.具体说,是先创建当前数组的一个副本,然后将接收到的参数添加到这个副本的末尾,最后返回新构建的数组.在没有给concat()方法传递参数的情况下,它只是复制当前数组并返回副本. eg: var name=["lin","li","fang"]; var name1=name.concat("zhao","zhou",["h…
一.转换方法 所有的对象都具有toLocaleString(),toString()和valueOf()方法.调用toString()方法会返回由数组中的每个值的字符串拼接而成的一个以逗号分隔的字符串.而调用valueOf()返回的还是数组. valueOf() 方法返回 Array 对象的原始值. 该原始值由 Array 对象派生的所有对象继承. valueOf() 方法通常由 JavaScript 在后台自动调用,并不显式地出现在代码中. 注意: valueOf() 方法不会改变原数组. e…
Array类型: ECMAScript数组的每一项可以保存任何类型的数据,数组的大小是可以动态调整的. 创建数组的基本方式: (1)使用Array构造函数 var color=new Array(); 注意: 给构造函数传递一个值时,如果传递的是数值,则会按照该数值创建包含给定项数的数组:如果传递的是其他类型的参数,则会创建包含那个值的只有一项的数组. eg: var color=new Array(3);//创建一个包含3项的数组 var name=new Array("Mary")…
引用类型 在ECMASCript中,引用类型是一种数据结构,将数据和功能组织在一起,引用类型有时候也被称为对象定义,因为它们描述的是一类对象所具有的属性和方法.(注意:尽管ECMAScript从技术上讲是一门面向对象的语言,但是它不具备传统面向对象语言所支持的类和接口等基本结构.) 1.Obiect类型 创建Object类型的两种方式: (1)使用new操作符后跟Objec构造函数 var person=new Object(); person.name="Linshuling"; p…
JavaScript的自动垃圾收集机制 执行环境会负责管理代码执行过程中使用的内存,编写JavaScript程序时,所需内存的分配以及无用内存的回收完全实现自动管理. 原理: 找出那些不再继续使用的变量,然后释放其占用的内存.为此,垃圾收集器会按照固定的时间间隔(或代码执行中预定的收集时间)周期性地执行这一操作. 垃圾收集的方式: 1.标记清除(mark-and-sweep) 最常用的垃圾收集方式.当变量进入环境时,就将变量标记为“进入环境”.从逻辑上讲,永远不能释放进入环境的变量所占用的内存,…
1.执行环境:执行环境定义了变量或函数有权访问的其他数据,决定了它们各自的行为, 每个执行环境都有一个与之相关联的变量对象,环境中定义的所有变量和函数都保存在这个对象中. 2.全局执行环境: 最外围的一个执行环境.在web浏览器中,全局执行环境被认为是window对象,因此所有的全局变量和函数都是作为window对象的属性和方法创建的.(某个执行环境中的所有代码执行完毕后,该环境被销毁,保存在其中的所有变量和函数定义也随之销毁,全局执行环境直到应用程序退出,例如关闭网页或是浏览器时才会被销毁.)…
1.基本类型和应用类型的值 ECMAScript变量可能包含两种不同数据类型的值: 基本类型值——简单的数据段.(5种基本的数据类型,按值访问,因为可以操作保存在变量中的实际的值.) 引用类型值——多个值构成的对象.(引用类型的值是保存在内存中的对象.) 注意: javascript不允许直接访问内存中的位置,也就是不能直接操作对象的内存空间.在操作对象时,实际上是操作对象的引用,引用类型的值是按引用访问的. 说明: 其实上面这种说法不严谨,但复制保存着对象时,操作的是对象的引用.但是为对象添加…
1.延迟脚本defer 在<script>元素中设置defer属性,相当于告诉浏览器立即下载,但是延迟执行.<script>中的脚本会延迟到浏览器遇到</html>标签后再执行. 注: (1)html5规范要求脚本按照它们出现的先后顺序执行,因此第一个延迟脚本会先于第二个延迟脚本执行,而这两个脚本会先于DOMContentLoaded事件执行. 在现实当中,延迟脚本并不一定会按照顺序执行,也不一定会在DOMContentLoaded事件触发前执行,因此最好只包含一个延迟…