传智播客学习之JavaScript基础篇


Posted in Javascript onNovember 13, 2009

一、JavaScript与java的区别
1.JavaScript是Netscape公司的产品,Java是Sun公司的产品。
2.JavaScript是基于对象,Java是面向对象。
3.JavaScript只需解释就可以执行,Java需要先编译成字节码文件,再执行。
4.JavaScript是弱类型,Java是强类型。
小结:其实java与JavaScript除了名字上有些像以外,然后JavaScript借用了部分java思想外,其余别的几乎没有什么关系。
二、如何将JavaScript与Html的结合
1.标签形式
我们将JavaScript代码存放在标签对<script>...</script>中。可以放在任何位置。
2.导入方式
使用script标签的src属性引入一个JavaScript文件。
例如:<script src=”test.js” type=”javascript”></script>
注意:规范中script标签中必须加入type属性。
三、JavaScript语法
1.变量
通过关键字var来定义,由于是弱类型,所以不用指定具体的数据类型。
例:var x = 3; x = “hello”;
注意:1)在JavaScript中单引号和双引号没有区别,但是最好写双引号,规范。
2)在JavaScript中特殊的常量值:undefined,当变量没有初始化就被使用,该变 量的值就是undefined(未定义)。
2.运算符
与其他编程语言一样,与java类似。也支持字符串连接符(+)以及三元运算符(? :),不同的是三元运算符不需要有值,可以直接在语句输出等。
3.语句
语句格式与各种编程语言差不多,也有判断,选择以及循环。但是注意一下几点:
1)在JavaScript中非0 为真。例如下面代码
var x = 3;
if(x==4)//可以进行比较运算。
if(x=4)//可以进行赋值运算,而且可以同样进行判断。不报错。结果为true,所以在if语句后可以倒过来写if(4==x),这样如果写成4=x会报错。可以纠正错误。
2)switch里面没有类型限制
3)循环一定要有结束条件
4)连接boolean运算,一定要用&&或者||,如果用&或者|会进行位运算
四.函数
1.一般函数
格式:
function 函数名(形式参数...)
{
执行语句;
return 返回值;
}
注意:1)return语句可以不写,函数一定要被调用才会运行。
2)形式参数没有必要加var,是弱类型。
3)调用有参数的函数,但没有给其传值,或传多于参数个数的值,函数一样可以运 行,或者调用没有参数的函数,给其传值,该函数也一样运行。
4)JavaScript中没有重载函数形式
因为在JavaScript中实际将函数的多个参数封装在一个arguments数组中,所以可以接受任意多个参数,但是最好还是按定义好的形式参数传递实际参数。
5)注意下面的例子
var show = demo();
上面这条语句表示的是show变量接收demo函数的返回值。
var show = demo;
上面这条语句表示的是show与demo代表同一函数,指向同意对象
2.动态函数
通过JavaScript的内置对象Function实现。如下:
var demo = new Function("x,y","var sum = x+y; alert(sum);");
demo(5,2);
动态函数与一般函数不同的是,参数以及函数体都可以通过参数进行传递,可以动态指定。

3.匿名函数
格式:function()
例:var demo = function(){alert("snow");}
demo();
注意:通常在定义事件属性的行为时较为常用。
4.其他形式
var p = new Object();
p.name ="lisi";
p.age=31;
p.demo = show;
alert(p.name +":"+p.age+demo(4,5));
function show(x,y){return x+y;}
五、数组
在JavaScript中,数组结合了集合的特性,可以存任意元素,长度也是可变的。而且在赋值的时候不是大括号而是中括号,如下:
var arr = new Array();
arr[0] = “ashf”;
arr[1] = 258;
或者var arr = [“ashf”,258,true,'sfa'];
注意在遍历的时候不要int x了,要var x,弱类型。
二维数组: var arrr = [[元素,元素....],[元素...],[元素....].....]
六、内置对象
在JavaScript中,内置了很多对象,比如String,Object,Date等,可以查阅相关帮助文档(如有需要,可以留下邮箱),这里主要对部分不同处做简单说明。
1.String中length是属性,不是方法
2.String中substring(a,b)方法是取a到b-1的字符,而substr(a,b)方法从a开始,取b个字符
3.a.toString(b)返回b进制的a形式
4.parseInt("a",b)会将b进制的a转换成十进制形式的a

七、自定义对象
在JavaScript中,除了已经提供的内置对象外,也可以自定义对象。
方式一:
function car(){}
var c = new car();
c.color = "white";
c.tyre = 4;
c.run = show;
function show(){alert(c.color+c.tyre+“run”);}
c.run();
方式二:
function car(color,tyre)
{
this.color = color;
this.tyre = tyre;
}
var c = new car(“white”,4);
alert(c.color+":"+c["tyre"]);
八、用于操作对象的语句
1.with语句
当调用一个对象中多个成员时,为了简化调用,避免”对象.”这种格式的重复书写。
格式:with(对象){ 这里面代码不用加(对象.属性)了 }
var p = new car("white",4);
alert(c.color+":"+c["tyre"]);
可以写成:
var p = new car("white",4);
with(car){alert(color+":"+tyre)};
注意:with语句定义了某个对象的作用域,在该域中可以直接调用该对象的成员。
for...in语句
For 变量in对象 语句:遍历对象中的成员,如果遍历数组,变量里面是脚标
获取对象的值 对象【变量】,变量是属性名

Javascript 相关文章推荐
HTML中不支持静态Expando的元素的问题
Mar 08 Javascript
flash 得到自身url参数的代码
Nov 15 Javascript
JavaScript字符串对象charAt方法入门实例(用于取得指定位置的字符)
Oct 17 Javascript
jQuery实现向下滑出的二级菜单效果实例
Aug 22 Javascript
JS实现响应鼠标点击动画渐变弹出层效果代码
Mar 25 Javascript
JS树形菜单组件Bootstrap TreeView使用方法详解
Dec 21 Javascript
JS获取鼠标位置距浏览器窗口距离的方法示例
Apr 11 Javascript
vue 2.5.1 源码学习 之Vue.extend 和 data的合并策略
Jun 04 Javascript
基于jQuery的时间戳与日期间的转化
Jun 21 jQuery
Vue-cli3.X使用px2 rem遇到的问题及解决方法
Aug 08 Javascript
Vue父子传递实例讲解
Feb 14 Javascript
VueX模块的具体使用(小白教程)
Jun 05 Javascript
用document.documentElement取代document.body的原因分析
Nov 12 #Javascript
JQuery SELECT单选模拟jQuery.select.js
Nov 12 #Javascript
Jquery操作Select 简单方便 一个js插件搞定
Nov 12 #Javascript
jquery控制listbox中项的移动并排序
Nov 12 #Javascript
Jquery 获取表单text,areatext,radio,checkbox,select值的代码
Nov 12 #Javascript
两个select之间option的互相添加操作(jquery实现)
Nov 12 #Javascript
XHTML下,JS浮动代码失效的问题
Nov 12 #Javascript
You might like
浅析php中三个等号(===)和两个等号(==)的区别
2013/08/06 PHP
PHP通过内置函数memory_get_usage()获取内存使用情况
2014/11/20 PHP
PHP生成RSS文件类实例
2014/12/05 PHP
php计算整个目录大小的方法
2015/06/19 PHP
javascript之Partial Application学习
2013/01/10 Javascript
JQuery 获取json数据$.getJSON方法的实例代码
2013/08/02 Javascript
jquery text(),val(),html()方法区别总结
2013/11/04 Javascript
jquery实现带缩略图的可定制高度画廊效果(5种)
2015/08/28 Javascript
jQuery实现鼠标悬停背景翻转的黑色导航菜单代码
2015/09/14 Javascript
微信小程序实现列表下拉刷新上拉加载
2020/07/29 Javascript
Python实现Windows上气泡提醒效果的方法
2015/06/03 Python
Python简单的制作图片验证码实例
2017/05/31 Python
Python操作MySQL数据库的三种方法总结
2018/01/30 Python
python skimage 连通性区域检测方法
2018/06/21 Python
python五子棋游戏的设计与实现
2019/06/18 Python
python实现七段数码管和倒计时效果
2019/11/23 Python
Python实现实时数据采集新型冠状病毒数据实例
2020/02/04 Python
python 爬虫 实现增量去重和定时爬取实例
2020/02/28 Python
Python2 与Python3的版本区别实例分析
2020/03/30 Python
python实现逢七拍腿小游戏的思路详解
2020/05/26 Python
基于SQLAlchemy实现操作MySQL并执行原生sql语句
2020/06/10 Python
CSS3实现的闪烁跳跃进度条示例(附源码)
2013/08/19 HTML / CSS
Under Armour安德玛中国官网:美国高端运动科技品牌
2018/03/09 全球购物
药品质量检测应届生求职信
2013/11/14 职场文书
年终考核评语
2014/01/19 职场文书
学生安全承诺书
2014/05/22 职场文书
疾病防治方案
2014/05/31 职场文书
2014年预备党员学习新党章思想汇报
2014/09/15 职场文书
安全员岗位职责范本
2015/04/11 职场文书
电影建国大业观后感
2015/06/01 职场文书
关于车尾的标语大全
2015/08/11 职场文书
2016年小学“我们的节日·中秋节”活动总结
2016/04/05 职场文书
2016年社区服务活动总结
2016/04/06 职场文书
关于战胜挫折的名言警句大全!
2019/07/05 职场文书
《成长的天空》读后感3篇
2019/12/06 职场文书
GoFrame gredis缓存DoVar Conn连接对象 自动序列化GoFrame gredisDo/DoVar方法Conn连接对象自动序列化/反序列化总结
2022/06/14 Golang