传智播客学习之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 相关文章推荐
Opacity.js
Jan 22 Javascript
C#中TrimStart,TrimEnd,Trim在javascript上的实现
Jan 17 Javascript
ExtJS下 Ext.Direct加载和提交过程排错小结
Apr 02 Javascript
JS实现可改变列宽的table实例
Jul 02 Javascript
JQuery插件开发示例代码
Nov 06 Javascript
js中函数声明与函数表达式
Jun 03 Javascript
jquery封装插件时匿名函数形参和实参的写法解释
Feb 14 Javascript
jQuery实现的动态文字变化输出效果示例【附演示与demo源码下载】
Mar 24 jQuery
JS动态添加的div点击跳转到另一页面实现代码
Sep 30 Javascript
解决vue2 在mounted函数无法获取prop中的变量问题
Nov 15 Javascript
javascript面向对象创建对象的方式小结
Jul 29 Javascript
国内常用的js类库大全(CDN公共库)
Jun 24 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中printf()函数格式化使用
2016/05/23 PHP
js电信网通双线自动选择技巧
2008/11/18 Javascript
Mootools 1.2教程(2) DOM选择器
2009/09/14 Javascript
Javascript学习笔记5 类和对象
2010/01/11 Javascript
JS对话框_JS模态对话框showModalDialog用法总结
2014/01/11 Javascript
JS中怎样判断undefined(比较不错的方法)
2014/03/27 Javascript
基于NodeJS的前后端分离的思考与实践(六)Nginx + Node.js + Java 的软件栈部署实践
2014/09/26 NodeJs
js结合正则实现国内手机号段校验
2015/06/19 Javascript
js鼠标点击图片切换效果实现代码
2015/11/19 Javascript
jquery+ajax实现注册实时验证实例详解
2015/12/08 Javascript
bootstrap-treeview自定义双击事件实现方法
2016/01/09 Javascript
jQuery基于toggle实现click触发DIV的显示与隐藏问题分析
2016/06/12 Javascript
静态页面html中跳转传值的JS处理技巧
2016/06/22 Javascript
微信小程序 开发之滑块视图容器(swiper)详解及实例代码
2017/02/22 Javascript
jQuery插件HighCharts绘制2D金字塔图效果示例【附demo源码下载】
2017/03/09 Javascript
vue 中自定义指令改变data中的值
2017/06/02 Javascript
jsTree事件和交互以及插件plugins详解
2017/08/29 Javascript
webpack打包react项目的实现方法
2018/06/21 Javascript
微信小程序视图容器(swiper)组件创建轮播图
2020/06/19 Javascript
vue axios post发送复杂对象问题
2019/06/04 Javascript
JS自定义右键菜单实现代码解析
2020/07/16 Javascript
原生js拖拽功能制作滑动条实例代码
2021/02/05 Javascript
[01:38]完美世界DOTA2联赛(PWL)宣传片:第一站
2020/10/26 DOTA
Python标准库内置函数complex介绍
2014/11/25 Python
Python中Random和Math模块学习笔记
2015/05/18 Python
Django上使用数据可视化利器Bokeh解析
2019/07/31 Python
pytorch 图像中的数据预处理和批标准化实例
2020/01/15 Python
python3 sleep 延时秒 毫秒实例
2020/05/04 Python
html table呈现个人简历以及单元格宽度失效的问题解决
2021/01/22 HTML / CSS
澳大利亚便宜隐形眼镜购买网站:QUICKLENS Australia
2018/10/06 全球购物
SK-II神仙水美国官网:SK-II美国
2020/02/25 全球购物
文秘专业毕业生就业推荐信
2013/11/08 职场文书
应聘英语教师求职信
2014/04/24 职场文书
工厂仓管员岗位职责范本
2014/07/17 职场文书
电工生产实习心得体会
2016/01/22 职场文书
动画「半妖的夜叉姬」新BD特典图公开
2022/03/22 日漫