JavaScript学习心得
javaScript十分的强大,所以自然而然学起来也是不易的,想要掌握它的核心,把它理解透更是不易的,但只要你能够静下心来,耐心的去钻研,学习,还是可以把它给学好的,加油吧!
下面是一些JavaScript的学习知识点:
javaScript 对象的反射及应用
使用 JSON 创建对象
关于 BOM
SVG 中使用 JavaScript
浏览器中的 JavaScript
正则表达式--简单模式
正则表达式--JavaScript 实现基础
FireFox 2 beta 1 支持 JavaScript 1.7
JavaScript 中的继承(下)
JavaScript 中的继承(上)
JavaScript 中的对象(下)
JavaScript 中的对象(上)
JavaScript 调试工具
ECMAScript 基础
JavaScript 基本组成
以上是JavaScript的一些核心知识
arguments是函数的参数对象,caller返回一个调用当前函数的引用,只有在执行时才有定义。
length函数定义时,定义参数的个数
prototype函数内置的属性,指针对象,指向原型对象,之前专门描述过。函数在创建时,随着赋予一个prototype属性,它的值是一个拥有constructor属性且值即为该函数的对象。
原型对象同样用一个__proto__原型链属性,__proto__内置属性,函数构建被赋予,寻找原型链的属性
2. 函数通常是由5个部分组成。
1) function 关键字,标识了该对象是一个特殊数据类型function而不是object。
2) 函数名,通常一些会被多次调用的函数在定义时,必须给定函数名。函数名通常是小写字母开头,采用“驼峰命名法”命名。
3) 参数。参数并不是必须的。实际上,在JS函数定义时并不需要对参数规定类型,调用时也不需要对传入参数进行类型检查,更自由的是在调用时甚至是不用检查参数个数。正因为JS有这样的特性,在实际编程会给我们带来不少麻烦,如果我们想将JS编程代码做到更严谨高效的话,那么在函数定义者部分我们就要掌握下面提及的方法。
我们会用到arguments,这是JavaScript函数内部的一个特殊对象,是一个类数组对象,用于保存所有传入函数的参数。函数可以通过它来访问所有调用时传递过来的参数列表,也使得JS函数参数拥有了以上的不确定性。
arguments.callee 通常使用在匿名函数中,callee是arguments的一个属性,指向这个arguments对象的函数。这里可能会混淆的是this,起初我也是认为回去当前函数参数个数可以写作:this.length。但是在函数内部,this指向的函数执行的环境对象,而不是函数本身。
可以直接用参数变量名进行判断,typeof语法中括号是可选项。typeof对string、number、function、undefined、boolean等几种类型判断完全可以,但是很多情况我们会将一个数组或者一个自定义对象实例作为一个参数来传递,则需要以下方式处理:
instanceof操作符之前提及过,可以判断变量是否是对象的一个实例,对于JS内置对象和自定义对象都适用。
在实际编程过程中调用函数时,可能参数值并不是我们想要的,值在Boolean环境下为false,就需要为其设置默认值。但是Number类型参数需要注意0在Boolean环境下返回值是false。
上述例子中我们使用”||”操作符代替了if判断,但是这前提是变量必须预先声明,否则就会报引用错误“name is undefined”,实例中“name”被作为定义参数传入,相当于var。
null被作为参数传入,这样的做法经常在特殊情况下被主动用作参数占位符,当然也可以使用undefined。
4) 函数体,包括在{}内的一组逻辑嵌套语句,这些语句是函数的主体,在函数被调用时执行。良好的变成习惯是一个函数仅仅只做一件事情,所以出现在一个函数体内的逻辑仅仅只是围绕以个方向的逻辑展开的,不要企图在意个函数内做很多事,那么只会让代码更繁琐,变得没有条理。
5)返回值。JS函数在创建时,并不需要声明返回值,默认都返回undefined。返回值类型在return之后确定,return在函数体内的作用是提前终止函数运行并输出相应的表达式或值,可以出现在函数体任何位置。
JavaScript学习心得的更多相关文章
- WGZX:javaScript 学习心得--2
转贴javascript心得(二) 标签: javascriptajaxweb开发htmlfirefox框架 2008-09-11 10:56 636人阅读 评论(0) 收藏 举报 分类: UI(2 ...
- WGZX:javaScript 学习心得--1
标签: javascriptiframedreamweaver浏览器htmltable 2008-09-11 10:50 1071人阅读 评论(0) 收藏 举报 分类: UI(21) 1,docu ...
- JavaScript学习心得(十)
Ajax Ajax是浏览器中使用JavaScript进行服务器后台请求,读取附加信息或者导致服务器响应的过程. Ajax广泛用于从服务器读取数据,并用所得到的数据更新页面,以及向服务器发送数据 Aja ...
- JavaScript学习心得(八)
Cookie是Netscape发明的技术,是动态网站必不可少的部分,用于浏览器请求Web页面的超文本传输协议是一种无状态的协议. 两种方法维护状态:使用会话(session)(使用服务器技术实现,数据 ...
- JavaScript学习心得(七)
一 创建事件监听器 开发人员往往使用事件和元素组合来命名事件处理函数. 创建事件监听器方法: 嵌入式事件处理器即将JavaScript函数赋值给HTML元素属性(不推荐使用:污染HTML:无法应用渐进 ...
- JavaScript学习心得(六)
函数 对函数参数没有任何类型检查(弱类型),在必要时在函数内加上类型检查(typeof): JavaScript的函数参数无法设置默认值(可以通过检查参数,当为undefined时设置一个值 func ...
- JavaScript学习心得(五)
一时间 1970年1月1日是电脑常用的时间参考点,称为纪元(Epoch)或者UNIX时间戳(UNIX Epoch).JavaScript中的Date对象能够表示1970年1月1日子夜前后1亿天之内的任 ...
- JavaScript学习心得(四)
条件语句 任何事物非真即假. 在JavaScript中,条件判断以下情况为假: false NaN 0 空串 null undefined 在使用相等运算符时,建议将数字写在相等运算符的左边.全等比较 ...
- JavaScript学习心得(三)
一 变量 var:变量声明 变量名 =:赋值 简单值类型 全局变量:编程的一般规则——应用程序应该只完成必须的最少功能,如果一个变量不是绝对必需,就不该是全局:全局变量对维护性能不利,因为需要一直维护 ...
随机推荐
- javascript面向对象的写法及jQuery面向对象的写法
文章由来:jQuery源码学习时的总结 在JS中,一般的面向对象的写法如下: function Cao(){}//定义一个构造函数 Cao.prototype.init = function(){}/ ...
- 转:C++输入一行字符串的一点小结
原文链接: http://www.wutianqi.com/?p=1181 大家在学习C++编程时,一般在输入方面都是使用的cin.而cin是使用空白(空格,制表符和换行符)来定字符串的界的.这就导致 ...
- 安装debian 9.1后,中文环境下将home目录下文件夹改为对应的英文
安装了debian 9.1后,中文环境下home目录下文件夹显示的是中文,相当不方便cd命令,改为对应的英文吧,需要用到的软件xdg-user-dirs-gtk #安装需要的软件 sudo apt i ...
- Hibernate的一对多查询及去掉重复的对象distinct
问:sql 中 select * from A left join B on A.id=B.id where A.id=? 如果在Hibernate 中 用HQL 怎么表达呢 ?答:from A le ...
- fio2.1.10--HOWTO
1.0 Overview and history ------------------------ fio was originally written to save me the hassl ...
- 对ajax请求的简单封装,操作更方便
我这里的接口数据调用的js叫interface.js,接口路径管理的js叫webSiteControl.js /** * Created by l2776 on 2017/7/11. * 接口数据调用 ...
- JavaScript中的比较规则之“==”运算符
"=="运算符(两个操作数的类型不相同时) 如果一个值是null,另一个值是undefined,则它们相等 如果一个值是数字,另一个值是字符串,先将字符串转换为数学,然后使用转换后 ...
- Vue源码终笔-VNode更新与diff算法初探
写完这个就差不多了,准备干新项目了. 确实挺不擅长写东西,感觉都是罗列代码写点注释的感觉,这篇就简单阐述一下数据变动时DOM是如何更新的,主要讲解下其中的diff算法. 先来个正常的html模板: & ...
- Problem P
题意:FJ养牛,他想知道中间的牛是那一头: 思路:这道题有点水,思路就不写了 #include #include #include #define maxn 10005 using namespace ...
- Linux分区规划与xshell使用排错
1.1 没有重要数据 /boot 200M 存放系统的引导信息 内核 swap 交换分区 防止内存用光了 临时的一个内存 如果你的内存小于8G swap是内存的1.5倍 如果你的 ...