传智播客学习之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 相关文章推荐
父子窗体间传递JSON格式的数据的代码
Dec 25 Javascript
Javascript实现的简单右键菜单类
Sep 23 Javascript
jQuery Form表单取值的方法
Jan 11 Javascript
微信小程序利用co处理异步流程的方法教程
May 20 Javascript
webpack配置之后端渲染详解
Oct 26 Javascript
微信小程序异步API为Promise简化异步编程的操作方法
Aug 14 Javascript
微信小程序外卖选购页实现切换分类与数量加减功能案例
Jan 15 Javascript
seajs和requirejs模块化简单案例分析
Aug 26 Javascript
vue 实现tab切换保持数据状态
Jul 21 Javascript
node.js基础知识汇总
Aug 25 Javascript
Ant Design Pro 之 ProTable使用操作
Oct 31 Javascript
vue-drawer-layout实现手势滑出菜单栏
Nov 19 Vue.js
用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
为什么夜间收到的中波电台比白天多
2021/03/01 无线电
swfupload 多文件上传实现代码
2008/08/27 PHP
php开发过程中关于继承的使用方法分享
2011/06/17 PHP
PHP 查找字符串常用函数介绍
2012/06/07 PHP
php使用递归函数实现数字累加的方法
2015/03/16 PHP
PHP大文件分割分片上传实现代码
2020/12/09 PHP
jQuery 获取兄弟元素的几种不错方法
2014/05/23 Javascript
jQuery数据缓存用法分析
2015/02/20 Javascript
JS实现很实用的对联广告代码(可自适应高度)
2015/09/18 Javascript
跟我学习javascript的闭包
2015/11/16 Javascript
js获取对象、数组的实际长度,元素实际个数的实现代码
2016/06/08 Javascript
使用 NodeJS+Express 开发服务端的简单介绍
2017/04/07 NodeJs
nodejs 终端打印进度条实例代码
2017/04/22 NodeJs
深究AngularJS之ui-router详解
2017/06/13 Javascript
Bootstrap Multiselect 常用组件实现代码
2017/07/09 Javascript
浅谈React 服务器端渲染的使用
2018/05/08 Javascript
Bootstrap 模态框自定义点击和关闭事件详解
2018/08/10 Javascript
Angular5中状态管理的实现
2018/09/03 Javascript
vue+SSM实现验证码功能
2018/12/07 Javascript
js+canvas实现转盘效果(两个版本)
2020/09/13 Javascript
Python-基础-入门 简介
2014/08/09 Python
利用Python为iOS10生成图标和截屏
2016/09/24 Python
Selenium控制浏览器常见操作示例
2018/08/13 Python
python 输入一个数n,求n个数求乘或求和的实例
2018/11/13 Python
python字符串替换re.sub()方法解析
2019/09/18 Python
Python的形参和实参使用方式
2019/12/24 Python
Python如何使用ElementTree解析xml
2020/10/12 Python
html5手机键盘弹出收起的处理
2020/01/20 HTML / CSS
SmartBuyGlasses德国:购买太阳镜和眼镜
2019/08/20 全球购物
.NET面试题:什么是反射
2016/09/30 面试题
大四学生思想汇报
2014/01/13 职场文书
学习“七一”讲话精神体会
2014/07/08 职场文书
房屋买卖委托书格式范本格式
2014/10/13 职场文书
2014年煤矿工作总结
2014/11/24 职场文书
2015年小学数学教研组工作总结
2015/05/21 职场文书
2019关于实习生工作安排及待遇的管理方案!
2019/07/16 职场文书