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 基础的更多相关文章

  1. 【Java EE 学习 31】【JavaScript基础增强】【Ajax基础】【Json基础】

    一.JavaScript基础增强 1.弹窗 (1)使用window对象的showModelDialog方法和showModelessDialog方法分别可以弹出模式窗口和非模式窗口,但是只能在IE中使 ...

  2. javascript基础部分

    javascript基础部分 1  数据类型: 基础数据类型(通过typeof来检测):Number,string,undefined,null,boolean,function typeof只能检测 ...

  3. (转)JAVA AJAX教程第二章-JAVASCRIPT基础知识

    开篇:JAVASCRIPT是AJAX技术中不可或缺的一部分,所以想学好AJAX以及现在流行的AJAX框架,学好JAVASCRIPT是最重要的.这章我给大家整理了一些JAVASCRIPT的基础知识.常用 ...

  4. 《JavaScript基础教程(第8版)》PDF

    简介:JavaScript基础教程(第8版)循序渐进地讲述了JavaScript及相关的CSS.DOM.Ajax.jQuery等技术.书中从JavaScript语言基础开始,分别讨论了图像.框架.浏览 ...

  5. 第三篇:web之前端之JavaScript基础

    前端之JavaScript基础   前端之JavaScript基础 本节内容 JS概述 JS基础语法 JS循环控制 ECMA对象 BOM对象 DOM对象 1. JS概述 1.1. javascript ...

  6. JavaScript 基础阶段测试题

    JavaScript 基础阶段测试题,试试你能得多少分? 一.选择题1.分析下段代码输出结果是( )    var arr = [2,3,4,5,6];    var sum =0;    for(v ...

  7. JavaScript基础知识(一)

    一.JavaScript基础 1.JavaScript用法: HTML 中的脚本必须位于 <script> 与 </script> 标签之间. 脚本可被放置在 HTML 页面的 ...

  8. JavaScript基础细讲

    JavaScript基础细讲   JavaScript语言的前身叫作Livescript.自从Sun公司推出著名的Java语言之后,Netscape公司引进了Sun公司有关Java的程序概念,将自己原 ...

  9. JavaScript 基础 (变量声明, 数据类型, 控制语句)

    创建: 2017/09/16 更新: 2017/09/24 更改标题 [JavaScript 概要]-> [JavaScript 基础] 完成: 2017/09/25 更新: 2017/10/0 ...

  10. javascript基础入门知识点整理

    学习目标: - 掌握编程的基本思维 - 掌握编程的基本语法 typora-copy-images-to: media JavaScript基础 HTML和CSS 京东 课前娱乐 众人皆笑我疯癫,我笑尔 ...

随机推荐

  1. Start of Something New

    Hi Guys This will be the blog of SCaffrey for some time before he creates his own site:) Have a nice ...

  2. IndexedDB

    http://www.tfan.org/indexeddb/ http://fnvfox.appspot.com/thankyou.html http://www.tfan.org/wechat-on ...

  3. Spring MVC 中的REST支持

    本部分提供了支持 RESTful web 服务的主要 Spring 功能(或注释)的概述. @Controller 使用 @Controller 注释对将成为 MVC 中控制器的类进行注释并处理 HT ...

  4. wireshark设置抓服务器的包

    wireshark设置抓服务器的包:

  5. 2016年QS亚洲大学排行榜

    2016年QS亚洲大学排行榜 人民网北京6月14日电 (记者 郝孟佳)今天,全球高等教育分析机构QS全球教育集团发布了2016年QS亚洲大学排名.清华大学在亚洲20强大学中进步最大,比去年提升6名,上 ...

  6. Error: opening registry key 'Software\JavaSoft\Java Runtime Environment' Error: could not find java.dll

    java -jar yxCollector-1.1.0.jarError: opening registry key 'Software\JavaSoft\Java Runtime Environme ...

  7. Idea学习笔记

    (1)安装,启动,配置: 1.安装完的插件如果不需要的插件可以不启动它:可以在setting里面配置plugins勾选不需要的插件:好处是加快idea的启动: 2.安装完成之后启根据系统32位,64位 ...

  8. 对于利用pca 和 cca 进行fmri激活区识别的理解

    1.pca 抛开fmri研究这个范畴,我们有一个超长向量,这个超长向量在fmri研究中,就是体素数据.向量中的每个数值,都代表在相应坐标轴下的坐标值.这些坐标轴所组成的坐标系,其实是标准单位坐标系.向 ...

  9. 用cmd改计算机名.bat 无需重启电脑生效

    echo offset /p cname=请输入计算机名: echo REGEDIT4 >reg.reg echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentContr ...

  10. TOMCAT启动完成但是ECLIPSE仍然显示starting....

    最近重新部署了一个TOMCAT服务,但是启动碰到个问题,虽然TOMCAT控制台已显示启动成功,但是ECLIPSE右下角仍然一直显示STARTING,最后TOMCAT超时,启动失败. 之前以为是拷贝工程 ...