21、javascript 基础
Javascript
Javascript 是一种嵌入到HTML文档的脚本语言,由浏览器解释和执行,无需编译。
Javascript 是大小写敏感的,大写字母与小写字母不同。
使用“;”分号来分割每一句js。
<scirpt>标签
javascript 代码必须放在<script></script>标记中
引入外部脚本
<script src="text/javascript" src="/js.js"></script>
Javascript 输出
document.write("向html输出一句话"); document.getElementById('id').innerHTML="设置的值"; //找到html中ID属性为id的元素并设置他的文本。
Javascript 注释
//单行注释
/**/ 多行注释
Javascript 变量
在javascript中,使用var声明变量。如:var a,b,c;
使用 = 号 赋值。 如:a = 1; b = 2 ; c = "abc";
未赋值的变量值为underfined
Javascript 数据类型
基本类型:数字类型、布尔类型、字符串类型
引用类型:对象类型、函数类型
空类型:null、underfined
运算符:typeof
语法:返回类型是字符串,用于查看该变量属于什么类型。 string typeof(变量);
Javascript是若类型语言(不严格检查类型内容),使用var声明变量。
<script type="text/javascript">
//基本类型
var num = ; //number
alert(typeof (num)); var flag = true; //boolean
alert(typeof (flag)); var code = ""; //string
alert(typeof (code)); //引用类型
var nums = new Array( ,,,,); //数组 object
alert(typeof (nums)); var date = new Date(); //日期 object
alert(typeof (date)); var func = function(){}; //函数 function
alert(typeof (func)); //空类型
var color = null; //空 返回object 引用类型属于object 特例
alert(typeof (color)); var underfined; //underinfed 未定义
alert(typeof (underfined));
</script>
Javascript 数组
var arry1 = new Array(); //方式1
arry1[] = "bai";
arry1[] = "da";
arry1[] = "wei";
var arry2 = new Array("bai","da","wei"); //方式2
var arry3 = ["bai","da","wei"]; //方式3 alert(arry1.length);
alert(arry2.length);
alert(arry3.length);
Javascript 运算符
算数运算符:+(加)、-(减)、*(乘)、/(除)、%(取余)、++(递加)、--(递减)(字符串中+用于连接)。
赋值运算符:=(复制)、+=(加等于)、-=(减等于)、*=(乘等于)、/=(除等于)、%=(余等于)。
比较运算符:==(等于)、===(绝对等于)、!=(不等于)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于)。
逻辑运算符:&&(与)、||(或)、!(非)。
Javascript 逻辑控制
IF--ELSE
用来区间性判断,类似c#。
var num = ;
if(num > && num < )
{
alert(typeof (num));
}else if(num > && num < )
{
alert("else if");
}else
{
alert("else");
}
Switch--Case
用于等值比较,类似c#。
var num = ;
switch(num)
{
case :
alert("");
break;
case :
alert("");
break;
default:
alert("");
break;
}
三元运算符
conditions ? statementA : statementB ;
Javascript 循环
while循环
先执行再判断
var num = ;
while(num<=){
document.write(num);
num++;
}
do--while循环
先判断再执行
var num = ;
do{
document.write(num);
num++;
}while(num<=)
for循环
for(var num = ; num <= ; num++)
{
document.write(num);
}
for--in循环
类似foreach,但是不同。
//遍历数组
var nums = new Array(,,,,,); //数组
for(var item in nums)
{
document.write(item);
} //遍历键值对 json
var kv = {
"key1":"value1",
"key2":"value2"
}
for(var item in kv)
{
document.write(kv[item]);//输出的是值 item是键
}
Break和Continue
break 立刻退出循环
Continue 结束本次继续下次循环
函数
javascript中使用Function定义函数。
语法:
function 函数名(参数列表){
//如果有返回值直接return
}
function getMax(num1,num2)
{
return num1 > num2 ? num1 : num2; //三元表达式
} var num1 = ;
var num2 = ;
var result = getMax(num1,num2);
document.write(result);
Lambada函数(匿名函数)
var arry = [,,,,,,,]; var getMax = function (nums) //注意这里不一样
{
var result = ;
for(var i = ;i < nums.length ; i++)
{
if(nums[i] > result)
result = nums[i];
}
return result;
} document.write(getMax(arry));
arguments 参数
在函数内部有一个arguments参数,用来表示函数的参数。
//如果一个方法不写参数,默认会有一个arguments
var func = function() //这里没有写参数
{
document.write(arguments.length); //这里输出内置参数长度
} func(,,); //给这个方法三个参数 输出结果为3
可以看到即使不指定参数,默认也会有一个内置函数来接收他们。可以循环输出他们,如果在这个情况下写参数呢?
var func = function(num) //这里加一个参数
{
document.write(num); //输出这个参数
document.write(arguments[]); //输出第一个内置函数的参数
document.write(arguments.length); //这里输出内置参数长度
} func(,,); //结果 1 , 1 , 3
可以看出,arguments对象中第一个参数跟写上的参数是相等的。
因为javascript是没有方法的重载的,利用argments可以实现方法重载。
//可以这样模拟方法重载
//根据参数的个数不同来调用不同的方法
var foo = function()
{
switch(arguments.length)
{
case :
func1();
break; case :
func2();
break; case :
func3();
break;
}
}
Function对象
动态函数,将字符串变成函数。
最后一个参数是函数的方法体,之前的参数都是函数的参数。
var func = new Function("num1","alert(num1)"); //将指定字符串转换为javascript函数
func(); //等同于 var func = new Function("num1","alert(num1)")(); //直接执行
Javascript 对象
js是面向对象的语言。
js中对象就是键值对,因为在键值对中,值可以是数字、字符串或布尔类型。比如字段。也可以是函数,比如方法var foo = function (){};键就是变量名或函数名。
对象的字面值(JSON),JSON是javascript中的表现形式。
var o = {}; //object 对象
alert(typeof o);
输出object
var o = { //自定义对象 JSON
name:"david",
age:,
sex:"男",
sayHi:function()
{
alert("你好");
}
};
document.write(o.name);
o.sayHi();
以上自定义对象,这种格式其实就是JSON。
在js当中支持将对象当作数组使用,所以可以类似索引器这样使用:对象[字符串]。
var person = new Object();
person.name = "david";
person.age = ;
person.sayHi = function(){
alert("你好,我是"+this.name);
} document.write(person["name"]); //对象[字符串] for(var item in person){
if(typeof person[item] == "function")
person[item]();
else
document.write(person[item]);
}
构造方法
调用的时候使用new 就可以将其作为构造方法来使用
js没有类,直接使用构造方法创建对象。
instanceof判断变量是否是构造方法创建出来的
alert({} instanceof Object); //true;
var Foo = function(){//创建一个函数
this.name = "david"; //使用this添加
this.age = ;
this.sayHi = function(){
alert("你好,我是"+this.name);
};
};
var obj = new Foo(); //使用new关键字调用构造方法
alert(typeof obj); //object 不是function
alert(obj instanceof Foo); //true alert(obj["name"]);
alert(obj.age);
obj.sayHi();
js是支持动态成员的,如果一个对象没有某属性,可以马上为他指定属性
obj.sex = "男"; //本来是没有这个属性的
alert(obj.sex);
类型转换
数字转换为字符串
1、数字+”“
2、数字.toString()
字符串转换为数字
1、字符串-0
2、Number(字符串)
3、parseInt(字符串) parseFloat(字符串)
布尔转换
if(!!var) 双否定 真假不变,但是会自动转换为number
操作字符串
string.indexOf(); 查找字符串
string.lastIndexOf(); 从后找
string.substring(start,stop); 截取
string.replace(); 替换
string.split(); 分割
string.toLowerCase(); 转小写
string.toUpperCase(); 转大写
获取时间
Date(); 获得当前的日期时间
getDate(); 从Date对象获得一个月中的某一天
getDay(); 从Date对象获得一周中的某天
getMonth(); 从Date对象获得月份
getFullYear(); 从Date对象返回四位年份
getHours(); 返回小时
getMinutes(); 返回分
getSeconds(); 返回秒
设置时间
setDate(); 设置日期时间 其他类似
算数
Math.round(4.7) 四舍五入
Math.radom() 随机数 0~1
Math.floor(Math.random()*11) 0~10
错误处理
try{
/*可能出错的代码*/
}catch{
/*出错的处理*/
throw "抛出"
}finally{
/*无论出错与否,都将执行*/
}
21、javascript 基础的更多相关文章
- 【Java EE 学习 31】【JavaScript基础增强】【Ajax基础】【Json基础】
一.JavaScript基础增强 1.弹窗 (1)使用window对象的showModelDialog方法和showModelessDialog方法分别可以弹出模式窗口和非模式窗口,但是只能在IE中使 ...
- javascript基础部分
javascript基础部分 1 数据类型: 基础数据类型(通过typeof来检测):Number,string,undefined,null,boolean,function typeof只能检测 ...
- (转)JAVA AJAX教程第二章-JAVASCRIPT基础知识
开篇:JAVASCRIPT是AJAX技术中不可或缺的一部分,所以想学好AJAX以及现在流行的AJAX框架,学好JAVASCRIPT是最重要的.这章我给大家整理了一些JAVASCRIPT的基础知识.常用 ...
- 《JavaScript基础教程(第8版)》PDF
简介:JavaScript基础教程(第8版)循序渐进地讲述了JavaScript及相关的CSS.DOM.Ajax.jQuery等技术.书中从JavaScript语言基础开始,分别讨论了图像.框架.浏览 ...
- 第三篇:web之前端之JavaScript基础
前端之JavaScript基础 前端之JavaScript基础 本节内容 JS概述 JS基础语法 JS循环控制 ECMA对象 BOM对象 DOM对象 1. JS概述 1.1. javascript ...
- JavaScript 基础阶段测试题
JavaScript 基础阶段测试题,试试你能得多少分? 一.选择题1.分析下段代码输出结果是( ) var arr = [2,3,4,5,6]; var sum =0; for(v ...
- JavaScript基础知识(一)
一.JavaScript基础 1.JavaScript用法: HTML 中的脚本必须位于 <script> 与 </script> 标签之间. 脚本可被放置在 HTML 页面的 ...
- JavaScript基础细讲
JavaScript基础细讲 JavaScript语言的前身叫作Livescript.自从Sun公司推出著名的Java语言之后,Netscape公司引进了Sun公司有关Java的程序概念,将自己原 ...
- JavaScript 基础 (变量声明, 数据类型, 控制语句)
创建: 2017/09/16 更新: 2017/09/24 更改标题 [JavaScript 概要]-> [JavaScript 基础] 完成: 2017/09/25 更新: 2017/10/0 ...
- javascript基础入门知识点整理
学习目标: - 掌握编程的基本思维 - 掌握编程的基本语法 typora-copy-images-to: media JavaScript基础 HTML和CSS 京东 课前娱乐 众人皆笑我疯癫,我笑尔 ...
随机推荐
- 关于执行ST_Geometry的st_centroid函数时报ORA-28579错误的问题
环境 SDE版本:10./10.2/10.2.1/10.2.2 Oracle版本:11g R2 11.2.0.1 Windows版本:Windows Server 2008 R2 问题描述及原因 以全 ...
- C#与C++的几个不同之处知识点
1.索引器 索引器是C#自创的内容,这是C++当中没有的内容,所以做一次笔记. 索引器是用于书写一个可以通过使用[]想数组一样直接访问集合元素的方法.我们只需要指定待访问实例或元素的索引.索引器的语法 ...
- nutch getOutLinks 外链的处理
转载自: http://blog.csdn.net/witsmakemen/article/details/8067530 通过跟踪发现,Fetcher获得网页解析链接没有问题,获得了网页中所有的链接 ...
- java-String中的 intern()<转>
1. 首先String不属于8种基本数据类型,String是一个对象. 因为对象的默认值是null,所以String的默认值也是null:但它又是一种特殊的对象,有其它对象没有的一些特性. 2. ne ...
- RSA算法原理(一)
如果你问我,哪一种算法最重要? 我可能会回答"公钥加密算法". 因为它是计算机通信安全的基石,保证了加密数据不会被破解.你可以想象一下,信用卡交易被破解的后果. 进入正题之前,我先 ...
- 一个QT 3D转动控件
其实说到底就是不停的截图,做出的幻觉.联想起360拖动图片,也是合并图片做出的效果,可见的对GUI来说图片是一切,是最根本的解决一切问题的办法,编程仅是辅助实现手段而已,我要记住这一点. .h文件 # ...
- python模块与包加载机制
模块的搜索路径: When a module named spam is imported, the interpreter searches for a file named spam.py in ...
- CONCATENATION 引发的性能问题
背景是在一台11gR2的机器上,开发反映一个批处理比以前慢了3倍.经过仔细查看该SQL的执行计划,发现由于SQL中使用了or,导致CBO走出了一个非常糟糕的CONCATENATION路径. no_ex ...
- ☀【HTML5】Modernizr
Modernizr 使用Modernizr探测HTML5/CSS3新特性
- Linux Shell编程(24)——命令替换
命令替换 将会重新分配一个命令[1]甚至是多个命令的输出; 它会将命令的输出如实地添加到另一个上下文中. [2]使用命令替换的典型形式是使用后置引用(`...`). 后置引用形式的命令(就是被反引号括 ...