`
- 浏览:
259696 次
- 性别:
- 来自:
未定
-
javascript 运行在宿主环境里,主要是浏览器这个宿主环境,也就是浏览器是javascript的解释器.每个浏览器有不同的实现, 实现标准是1999年通过的ECMAScript edition 3(javascript 1.5/1.6).
正在开发的ECMAScript edition 4(javascript2.0).
实现得最接近标准的是firefox浏览器,最差的当然是IE了.
1.javascript的变量类型:
* Number
* String
* Boolean
* Object
o Function
o Array
o Date
o RegExp
o Math
* Null
* Undefined
(1).Number are "double-precision 64-bit format IEEE 754 values",在javascript中没有所谓的integer类型,浮点数运算也会出现不精确,很长的結果.
使用全局方法parseInt(str,base)可以将字符串转化为数字,
如果str不可转化为数字,返回特殊值NaN
(2).String 是Unicode字符序列
(3). Null,undefined的区别, null 是指变量没有值. 而undefined是指定义了变量,但是没有赋值,没有类型
var obj = null;
var name; //name is undefined
2. 变量的另类赋值方式
var name = obj && obj.name; //先判断obj是否为null,
var name = otherName || 'default'; //如果otherName为false,则使用默认值
3. javascript的对象
javascript 是prototype-based的面向对象语言,而不像如java那种class-based.
JavaScript objects are simply collections of name-value pairs.
就像是java中的HashMap
定义方式:
var obj = new Object();
或者更简便的
var obj = {};
直接使用obj定义属性:
obj.name = 'helo';
or
obj['name'] = 'helo';
也可以直接在{}中定义
var obj = {
name:'helo',
detail: {color:'red'}
}
4.Array
var arr = new Array();
or
var arr = [];
arr[0] = 'hel';
arr[1] = 'tow';
遍历数组
for(var i = 0; i < items.length; i++_)
for(var i = 0, len=items.length; i < len; i++)
for(var i in items)
5. Function
函数的定义
function add(a, b) {
}
调用的时候参数个数可以跟function定义的不一样
函数体里有一个特殊的变量 arguments, 数组类型.
可以在函数体里访问到传到函数的参数
函数是对象,所以他也有属性跟方法,如
add.apply(), add.call()
arguments.callee会记录当前函数被调用的次数
6.用户自定义对象
function makePerson(name) {
return {name:name,
add: function(){}
}
}
对象的prototype属性
Person.prototype.sub = function(){
return this.name;
};
之后Person的所有对象都有sub方法, this代表当前对象
也可以对内置对象增加方法
String.prototype.reverse = function(){
var r = "";
for (var i = this.length - 1; i >= 0; i--) {
r += this[i];
}
return r;
}
7.inner function
定义在function内部的方法,
function betterExampleNeeded() {
var a = 1;
function oneMoreThanA() {
return a + 1;
}
return oneMoreThanA();
}
8.closure
function makeAdder(a) {
return function(b) {
return a + b;
}
}
closure 与 inner function的区别是 closure返回的是新方法,outer function被引用了,调用完之后如果赋值给变量,则外部函数的作用域还存在,
9.memery leak
An unfortunate side effect of closures is that they make it trivially easy to leak memory in Internet Explorer. JavaScript is a garbage collected language - objects are allocated memory upon their creation and that memory is reclaimed by the browser when no references to an object remain. Objects provided by the host environment are handled by that environment.
Browser hosts need to manage a large number of objects representing the HTML page being presented - the objects of the DOM. It is up to the browser to manage the allocation and recovery of these.
Internet Explorer uses its own garbage collection scheme for this, separate from the mechanism used by JavaScript. It is the interaction between the two that can cause memory leaks.
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
JavaScript之Math对象(源代码)JavaScript之Math对象(源代码)JavaScript之Math对象(源代码)JavaScript之Math对象(源代码)JavaScript之Math对象(源代码)JavaScript之Math对象(源代码)JavaScript之Math对象...
JavaScript之Date对象(源代码)JavaScript之Date对象(源代码)JavaScript之Date对象(源代码)JavaScript之Date对象(源代码)JavaScript之Date对象(源代码)JavaScript之Date对象(源代码)JavaScript之Date对象...
JavaScript之所以受欢迎,主要是因为它能够操控浏览器,具备广泛的使用场景,并且学习起来相对容易。JavaScript的性能强大,它是一种开放的语言,社区支持广泛,这为开发者提供了一个良好的学习和交流环境。 ...
总的来说,《Head First JavaScript源码》涵盖了JavaScript的各个方面,从基础语法到高级特性,再到实际应用。通过阅读源码,读者不仅可以学习到理论知识,还能看到这些知识如何在实践中得以体现,这对于初学者深入...
本书是一本全面、深入介绍JavaScript语言的学习指南。本书共分四个部分,第1部分帮助读者快速入手,掌握基本的JavaScript编程要点;第2部分介绍JavaScript的发展和技术背景;第3部分深入探索JavaScript,介绍了语法...
《JavaScript权威指南》是JavaScript编程领域的一本经典之作,由著名技术作家David Flanagan撰写,被誉为"JavaScript犀牛书"。这本书深入浅出地讲解了JavaScript语言的核心概念、语法特性和高级特性,对于想要全面...
这本书是JavaScript编程领域的一部经典之作,深入浅出地讲解了JavaScript的核心概念和技术。它涵盖了变量、数据类型、运算符、流程控制语句、函数、对象、类、模块等方面的知识,还详细介绍了错误处理、调试技巧和...
看过了,这本书对js介绍的很不错!!! Java Script是一种功能强大的基于对象的脚本语言。... JavaScript语法以流行的程序设计语言C、C++和Java为基础,因此,经验丰富的程序设计人员... —Brendan Eich,JavaScript之父
总的来说,这个“JavaScript小技巧全集”涵盖了从基础到进阶的JavaScript知识,包括但不限于语法、DOM操作、事件处理、动画效果和高级技巧。无论你是初学者还是经验丰富的开发者,都可以从中受益,提升自己的...
JavaScript函数(源代码)JavaScript函数(源代码)JavaScript函数(源代码)JavaScript函数(源代码)JavaScript函数(源代码)JavaScript函数(源代码)JavaScript函数(源代码)JavaScript函数(源代码)...
JavaScript,一种广泛应用于Web开发的脚本语言,是前端开发的核心技术之一。这份"JavaScript学习指南"高清PDF,无疑为想要深入理解JavaScript的初学者或有一定基础的开发者提供了宝贵的资源。下面,我们将深入探讨...
在这个场景中,我们关注的是VS2015的安装过程中涉及到的证书问题以及两个特定的组件:JavaScript_ProjectSystem.msi和JavaScript_LanguageService.msi。 首先,关于“VS2015安装证书”,这通常是指安装过程中需要...
这个项目对于那些需要在服务器端或者桌面应用中利用JavaScript的强大功能,而又不希望引入完整的浏览器环境(如ChakraCore或JScript.NET)的开发者来说,是一个非常实用的工具。 JavaScript.Net的核心功能在于提供...
JavaScript课堂习题答案JavaScript课堂习题答案JavaScript课堂习题答案JavaScript课堂习题答案JavaScript课堂习题答案JavaScript课堂习题答案JavaScript课堂习题答案JavaScript课堂习题答案JavaScript课堂习题答案...
JavaScript,作为Web开发的核心技术之一,被广泛用于构建交互式的网页和应用程序。本教程覆盖了从基础概念到高级特性的全面内容,适合从初学者到有经验的开发者进行学习。 一、JavaScript基础知识 JavaScript的基础...
Web前端学习资料,Javascript学习
JavaScript 之 Vue3 入门到精通+网络商城案例JavaScript 之 Vue3 入门到精通+网络商城案例JavaScript 之 Vue3 入门到精通+网络商城案例JavaScript 之 Vue3 入门到精通+网络商城案例JavaScript 之 Vue3 入门到精通+...
Author David Herman, with his years of experience on Ecma’s JavaScript standardization committee, illuminates the language’s inner workings as never before—helping you take full advantage of ...
在吃透了前面所说的书之后,接下来两本书的顺序已经无关紧要了,《JavaScript DOM高级程序设计》(注意和《JavaScript 高级程序设计》相区别)和《JavaScript设计模式》,这两本都是重量级的书,能让你的JS技术上一...