JS知识点摘记(一)
JavaScript:基于对象和事件的脚本语言
特点:
安全性:不允许直接访问本地硬盘,可做的就是信息的动态交互
跨平台性:只要可以解析JS的浏览器就可执行,与平台无关
JavaScript与Java的不同:
1、js是NetScape的产品,Java是SUN的产品
2、js是基于对象的,Java是面向对象的
3、js只需解释就可执行,Java需要先编译成字节码文件后再执行
4、js是弱类型语言,Java是强类型的
5、js是非严谨的,Java是严谨的
JavaScript与HTML代码的结合方式:任何代码要融入HTML代码中都是通过标签形式
1、将js代码存放在标签对<script></script>中,规范要求加type属性,以前是language属性
<script type=”text/javascript”> js代码 </script>
2、将js代码封装成js文件,提高复用性
<script type=”text/javascript” src=”1.js”></script>
变量通过关键字var定义,弱类型语言不需要指定具体数据类型
特殊常量:undefined 变量没有初始化时值就是它
数组:var arr = [1, 2, ‘abc’, 3.53] 数组长度是可变的,没有越界问题,其他值为undefined
var arr = new Array() 数组内可存放任意类型元素,推荐元素类型一致
var arr = [[1, 0, 3], [true, ‘abc’]]; 二维数组
js中的数组就相当于Java中的集合
函数:function 函数名(参数列表){js代码}
JavaScript函数没有重载形式,参数可随意传递,函数内部默认有一个arguments数组用来接收传入的参数,参数个数尽量保持一致
alert(函数名)可将函数内容打印出来,包括注释
动态函数:var fun = new Function(“x”, “y”, “var sum=x+y; return sum;”); var a = fun(3,2);
函数的参数和函数体都可以通过字符串变量来动态修改
匿名函数:同Java,多用于事件处理
可以通过函数形式来模拟Java,创建对象
function Person()
{
alert(“person
init”);
}
var p = new Person();
上面会调用Person的方法
可以给p添加属性和方法
p.name = “张三”
p.age = 30;
p.eat = function(){}
引用name属性可用
p.name 或p[“name”]
也可像Java一样使用this来完成对象构造
简化操作的with语句和for…in语句
with用于确定对象的作用范围
with(对象){可直接调用对象的属性和方法,不用加对象名}
for…in语句用于遍历对象或数组
for((变量)s in (学生对象)stu){alert(s)}此处打印出stu的属性,要获得属性值用stu[s]
for(x in array) alert(x)打印的是数组角标
JavaScript的内部对象:Object、String、Array、Math……
String:长度为length属性,不是方法
方法有:toUpperCase() toLowerCase() CharAt() indexOf() lastIndexOf()
split() replace() substring(start,
end) substr(start, length)
math()正则表达式匹配 bold()给字符串两边加上<b></b>标签
fontColor() fontSize() sub() sup() link(“URL”)都是加标签的
Math:random()产生0~1之间的伪随机数,含0不含1,可能为0,但总小于1,为小数
怎么产生1—10之间的整数呢?random()*10+1需要转换成整数,使用Global对象方法
Global:封装一些不属于具体某个对象的单独存在的全局方法,可不用对象名直接调用
parseFloat() parseInt() radix 基数
parseInt(numString,
[radix]) radix指定numString的进制形式,2~36
默认0x开头位16进制,0开头为八进制,其他为十进制
如果numString前缀不能转为数字,则返回NaN(Not a number)可用isNaN()检测
parseInt(“aaa”) NaN parseInt(“33abe”) 33
提示:转换前先用正则匹配,是数字再转换
反向转换用toString方法
toString([radix])
Data:日期时间对象
var d = new Data();
with(d)
{
var month = getMonth()+1; 月份从0开始
month
= month>9?month:”0”+month; 月份用两位数 日也可这样做
alert(getYear()+”年”+month+”月”+getData()+”日,星期”+getDay());
}
prototype属性:获取对象原型,可以给源对象添加自定义功能或属性
function getMax()
{
var
max = this[0];
for
(var x=1; x<this.length; x++)
{
if (max<this[x])
max = this[x];
}
return max;
}
Array.prototype.getMax = getMax; 给Array对象添加getMax方法,可直接调用
JS知识点摘记(一)的更多相关文章
- JS知识点整理(二)
前言 这是对平时的一些读书笔记和理解进行整理的第二部分,第一部分请前往:JS知识点整理(一).本文包含一些易混淆.遗漏的知识点,也会配上一些例子,也许不是很完整,也许还会有点杂,但也许会有你需要的,后 ...
- Node.js知识点学习
Node.js知识点学习 一.基本概念 Node.js,或者 Node,是一个可以让 JavaScript 运行在服务器端的平台.可以说,Node.js开创了javascript模块化开发的先河,早期 ...
- JS知识点整理(一)
前言 本文把平时的一些读书笔记和理解进行了整理归纳,包含一些易混淆.遗漏的知识点,也会配上一些例子,可能不是很完整,还会有点杂,但也许会有你需要的(目前先整理了一部分,笔记有点多,后续会持续更新). ...
- vue.js 知识点(四)
看完了vue.js的官方文档,大概对这些知识有了那么一点的了解了,但是很多具体的运用还不太清楚,现在就总结一下,关于其中的一些知识点的运用: v-bind: 动态绑定指令,默认情况下,是给html ...
- fabric.js 知识点整理
fabric.js是一个很好用的 canvas 操作插件,下面整理了一些平时项目中用到的知识点: //1: 获得画布上的所有对象: var items = canvas.getObjects(); / ...
- JS知识点查漏补缺
知识点1: 判断语句中遇到NaN即为 False 只需要注意遇到False即为False即可 使用join(),toString()皆可以将数组转化为字符串 二者的相同点在于都可以转化数组为字符串 二 ...
- 前端必备的js知识点(转载)
1.本文主体源自:http://www.cnblogs.com/coco1s/p/4029708.html,有兴趣的可以直接去那里看,也可以看看我整理加拓展的.2.js是一门什么样的语言及特点? ...
- Node.js知识点
1. 入口文件app.js里的路由,按顺序执行: 2.
- JS知识点备忘
做前端久了,会发现很多比较杂的知识点,平时很少用到(往往在面试的时候经常见到),但是遇到的时候会很揪心...所以遇到的时候把它记录下来,但求有个印象,再次遇到时,可以在这里快速找到解决. 1.文档碎片 ...
随机推荐
- html css float left与 float right的使用说明
点评: CSS中很多时候会用到浮动来布局,也就是经常见到的float:left或者float:right,简单点来说,前者是左浮动(往左侧向前边的非浮动元素飘,全是飘得元素的话,就按照流式来浮动从左到 ...
- VS2013关于“当前不会命中断点源代码与原始版本不同”的BUG
文件明明没有动过,竟然一直给我这种提示! 解决方法:将出问题的文件用notepad打开,然后另存为Unicode编码,覆盖原来的文件. 网上另外有一种办法是:通过重新格式化出问题的源文件亦可以解决,即 ...
- java 和 Python 的互调
http://www.cnblogs.com/lmyhao/p/3363385.html http://blog.csdn.net/wxiaow9000/article/details/5166029 ...
- 解决pycharm无法导入本地包的问题(Unresolved reference 'tutorial')
在用scrapy(python2.7)写爬虫的时候 from tutorail.items import DmozItem 这一行死活不成功 也就是出现 Unresolved reference 't ...
- Delphi XE6 试用Android视频采集
FMX支持视频采集,具体见FMX.Media,提供了很类支持音频.视频的处理. 按帮助文档,用Note3做了测试,结果,效率太低,不可用. 具体可查询帮助Video Capturing一节,我就是按这 ...
- Silverlight中无法设置卫星程序集为中立资源程序集
熟悉.Net资源文件体系的人都知道,中立资源程序集(Neutral Resource Assembly)的作用在于,一旦指定语言文化(Culture)的资源查找不到,便会Fallback到中立资源程序 ...
- .net c# 正则表达式 平衡组/递归匹配
原文 http://www.cnblogs.com/qiantuwuliang/archive/2011/06/11/2078482.html 平衡组/递归匹配 这里介绍的平衡组语法是由.Net Fr ...
- Python学习笔记1-搭建Python环境 和 Python Hello World!
一.搭建Python开发环境 1.选择开发工具 首先要寻找一个Python的开发工具,Python的开发工具有很多,有pyCharm .Eclipse.Visual studio等等 ,使用最多的还是 ...
- Spring、实例化Bean的三种方法
1.使用类构造器进行实例化 <bean id="personIService" class="cn.server.impl.PersonServiceImpl&qu ...
- ASP.NET 验证码 不同浏览器 不刷新问题
具体为什么不刷新是缓存机制不同,验证码图片的src或ImageUrl的获取是来自一个文件,由于连接地址没变所以不同内核浏览器有的会认为源没有变,解决办法就是在连接后面加上一个随机参数如可以用JS的Ma ...