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知识点摘记(一)的更多相关文章

  1. JS知识点整理(二)

    前言 这是对平时的一些读书笔记和理解进行整理的第二部分,第一部分请前往:JS知识点整理(一).本文包含一些易混淆.遗漏的知识点,也会配上一些例子,也许不是很完整,也许还会有点杂,但也许会有你需要的,后 ...

  2. Node.js知识点学习

    Node.js知识点学习 一.基本概念 Node.js,或者 Node,是一个可以让 JavaScript 运行在服务器端的平台.可以说,Node.js开创了javascript模块化开发的先河,早期 ...

  3. JS知识点整理(一)

    前言 本文把平时的一些读书笔记和理解进行了整理归纳,包含一些易混淆.遗漏的知识点,也会配上一些例子,可能不是很完整,还会有点杂,但也许会有你需要的(目前先整理了一部分,笔记有点多,后续会持续更新). ...

  4. vue.js 知识点(四)

    看完了vue.js的官方文档,大概对这些知识有了那么一点的了解了,但是很多具体的运用还不太清楚,现在就总结一下,关于其中的一些知识点的运用: v-bind:  动态绑定指令,默认情况下,是给html ...

  5. fabric.js 知识点整理

    fabric.js是一个很好用的 canvas 操作插件,下面整理了一些平时项目中用到的知识点: //1: 获得画布上的所有对象: var items = canvas.getObjects(); / ...

  6. JS知识点查漏补缺

    知识点1: 判断语句中遇到NaN即为 False 只需要注意遇到False即为False即可 使用join(),toString()皆可以将数组转化为字符串 二者的相同点在于都可以转化数组为字符串 二 ...

  7. 前端必备的js知识点(转载)

    1.本文主体源自:http://www.cnblogs.com/coco1s/p/4029708.html,有兴趣的可以直接去那里看,也可以看看我整理加拓展的.2.js是一门什么样的语言及特点?    ...

  8. Node.js知识点

    1. 入口文件app.js里的路由,按顺序执行: 2.

  9. JS知识点备忘

    做前端久了,会发现很多比较杂的知识点,平时很少用到(往往在面试的时候经常见到),但是遇到的时候会很揪心...所以遇到的时候把它记录下来,但求有个印象,再次遇到时,可以在这里快速找到解决. 1.文档碎片 ...

随机推荐

  1. html css float left与 float right的使用说明

    点评: CSS中很多时候会用到浮动来布局,也就是经常见到的float:left或者float:right,简单点来说,前者是左浮动(往左侧向前边的非浮动元素飘,全是飘得元素的话,就按照流式来浮动从左到 ...

  2. VS2013关于“当前不会命中断点源代码与原始版本不同”的BUG

    文件明明没有动过,竟然一直给我这种提示! 解决方法:将出问题的文件用notepad打开,然后另存为Unicode编码,覆盖原来的文件. 网上另外有一种办法是:通过重新格式化出问题的源文件亦可以解决,即 ...

  3. java 和 Python 的互调

    http://www.cnblogs.com/lmyhao/p/3363385.html http://blog.csdn.net/wxiaow9000/article/details/5166029 ...

  4. 解决pycharm无法导入本地包的问题(Unresolved reference 'tutorial')

    在用scrapy(python2.7)写爬虫的时候 from tutorail.items import DmozItem 这一行死活不成功 也就是出现 Unresolved reference 't ...

  5. Delphi XE6 试用Android视频采集

    FMX支持视频采集,具体见FMX.Media,提供了很类支持音频.视频的处理. 按帮助文档,用Note3做了测试,结果,效率太低,不可用. 具体可查询帮助Video Capturing一节,我就是按这 ...

  6. Silverlight中无法设置卫星程序集为中立资源程序集

    熟悉.Net资源文件体系的人都知道,中立资源程序集(Neutral Resource Assembly)的作用在于,一旦指定语言文化(Culture)的资源查找不到,便会Fallback到中立资源程序 ...

  7. .net c# 正则表达式 平衡组/递归匹配

    原文 http://www.cnblogs.com/qiantuwuliang/archive/2011/06/11/2078482.html 平衡组/递归匹配 这里介绍的平衡组语法是由.Net Fr ...

  8. Python学习笔记1-搭建Python环境 和 Python Hello World!

    一.搭建Python开发环境 1.选择开发工具 首先要寻找一个Python的开发工具,Python的开发工具有很多,有pyCharm .Eclipse.Visual studio等等 ,使用最多的还是 ...

  9. Spring、实例化Bean的三种方法

    1.使用类构造器进行实例化 <bean id="personIService" class="cn.server.impl.PersonServiceImpl&qu ...

  10. ASP.NET 验证码 不同浏览器 不刷新问题

    具体为什么不刷新是缓存机制不同,验证码图片的src或ImageUrl的获取是来自一个文件,由于连接地址没变所以不同内核浏览器有的会认为源没有变,解决办法就是在连接后面加上一个随机参数如可以用JS的Ma ...