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:变量声明 变量名 =:赋值 简单值类型 全局变量:编程的一般规则——应用程序应该只完成必须的最少功能,如果一个变量不是绝对必需,就不该是全局:全局变量对维护性能不利,因为需要一直维护 ...
随机推荐
- .NET企业级应用WebService上传下载文件
在建立好一个WebService后会有一个自带的 [WebMethod]//在待会写的所有方法中都要写这个,便于调试 public string HelloWorld() { return " ...
- Linux 快捷键汇总(偏基础)
自己最近才搭上Linux末班车,有一种想见恨晚的感觉,完全给你一种快速清爽的感觉! 因为需要,所以学习,记录自己在使用Linux系统上的点滴,偏基础! 1. 打开终端: Ctrl+Alt+T 2. 复 ...
- (MariaDB)MySQL数据类型详解和存储机制
html { font-family: sans-serif } body { margin: 0 } article,aside,details,figcaption,figure,footer,h ...
- (转)关于Tomcat的点点滴滴(体系架构、处理http请求的过程、安装和配置、目录结构、设置压缩和对中文文件名的支持、以及Catalina这个名字的由来……等)
转自:http://itfish.net/article/41668.html 总结Tomcat的体系架构.处理http请求的过程.安装和配置.目录结构.设置压缩和对中文文件名的支持.以及Cata ...
- Java规范推荐
Java规范推荐 推荐:http://blog.csdn.net/tristansmile/article/details/7989670 命名规范 项目名:全部小写 Package 的命名:应该都是 ...
- LeetCode 238. Product of Array Except Self (去除自己的数组之积)
Given an array of n integers where n > 1, nums, return an array output such that output[i] is equ ...
- 如何用Android Studio同时使用SVN和Git管理项目
这篇来讲讲如何在 Android Studio 上同时用 SVN 和 Git 来管理项目.我知道,你肯定会说我吃饱了撑着,没事找事做,为啥要同时用 SVN 和 Git 来管理项目.问题是,我也不想啊, ...
- Android Weekly Notes Issue #281
October 29th, 2017 Android Weekly Issue #281 本期内容不多,包含了小众DI库牙签帮助测试的文章,Kotlin中Delegate的强大之介绍,以及基于Goog ...
- RSA加密算法验证(C#实现)
RSA算法简单原理介绍(节选于网络) 假设Alice想要通过一个不可靠的媒体接收Bob的一条私人讯息.她可以用以下的方式来产生一个公钥和一个私钥: 随意选择两个大的质数p和q,p不等于q,计算N=pq ...
- AngularJS学习篇(二十一)
AngularJS 动画 AngularJS 提供了动画效果,可以配合 CSS 使用. AngularJS 使用动画需要引入 angular-animate.min.js 库. <!doctyp ...