您的位置:首页 > 移动开发 > Cocos引擎

Cocos2d-js开发之JavaScript初探

2015-05-31 16:49 302 查看
Cocos2d-js开发之JavaScript初探

一. HelloJS

<!DOCTYPE html>

<html>

<head lang="en">

<meta charset="UTF-8">

<title></title>

<script type="text/javascript">

alert("Hello JS!");

</script>

</head>

<body>

Hello

</body>

</html>

二. JS的调试(DebugJS)

index.html

<!DOCTYPE html>

<html>

<head lang="en">

<meta charset="UTF-8">

<title></title>

<script type="text/javascript" src="index.js">

</script>

</head>

<body>

Hello

</body>

</html>

index.js

console.log("Hello JS!");

var a = 1;

var b = 2;

var c = a + b;

console.log(c);

/*

* 在Chrome中进行JS的调试,打开“审查元素”,

* 在Source中可以查看到源代码,在Console中可以看到控制台打**印的信息

* */



三. JS函数

<script type="text/javascript">

function max(a, b) {

return a > b ? a : b;

}

var f = max;

console.log(f(12, 6));

//可变参数

//当函数内部不写任何参数时,调用时传入的参数可以

//通过arguments得到

function mas() {

console.log(arguments);

}

mas(1, 2, 3, "Hello");

//下面通过可变参数函数比较大小

function maxValue() {

var max = arguments[0];

for ( var i = 1; i < arguments.length; i++ ) {

if ( max < arguments[i] ) {

max = arguments[i];

}

}

return max;

}

var f_max = maxValue;

console.log(f_max(1,2,3,8,12));

</script>

[打印结果]



四. JS的面向对象

index.html

<!DOCTYPE html>

<html>

<head lang="en">

<meta charset="UTF-8">

<title></title>

<script src="index.js"></script>

</head>

<body>

</body>

</html>

index.js

function A()

{

this.sayHelloWorld = function()

{

console.log("构造方法内部");

}

}

// 类A的原型量, 动态的方法

A.prototype.sayHello = function()

{

console.log("Hello");

}

//创建静态的方法

A.sayHi = function()

{

console.log("静态的方法");

}

//调用动态的方法

var a = new A();

a.sayHello();

// 调用静态的方法

A.sayHi();

//创建一个类B,继承自类A

function B(){

}

B.prototype = new A();

//B.sayHi(); //B没有能够继承父类A的静态方法

var b = new B();

b.sayHello();

b.sayHelloWorld();

//注意:B继承了A的动态方法,包括在A的构造方法内和外的方//法,但没有继承静态的方法

五. JS播放音频(mp3)

index.html

<!DOCTYPE html>

<html>

<head lang="en">

<meta charset="UTF-8">

<title></title>

</head>

<body>

<audio src="song.mp3" controls="controls"></audio>

</body>

</html>



[效果图]



六. JS播放视频(mp4)

index.html

<!DOCTYPE html>

<html>

<head lang="en">

<meta charset="UTF-8">

<title></title>

</head>

<body>

<video src="shiping.mp4" controls="controls" width="600px"

height="400px"/>

</body>

</html>

[效果图]



七. JS通过Canvas画图

index.html

<!DOCTYPE html>

<html>

<head lang="en">

<meta charset="UTF-8">

<title></title>

</head>

<body>

<canvas id="canvas" width="400" height="300" />

<script type="text/javascript" src="index.js"/>

</body>

</html>

index.js

var canvas = document.getElementById("canvas");

//绘制2d图形

var context = canvas.getContext("2d");

//改变绘制的颜色

context.fillStyle = "#ffff00";

//绘制矩形

context.fillRect(0,0,150,250);

//Flash CC是由Adobe公司开发的,同样CreateJS也是由Adobe开发的,

//CreateJS很好的支持了Flash,可以通过创建Html5 Canvas的Flash来//制作网页动画

八. JS内置对象

<!--创建对象-->

<script type="text/javascript">

//第一种方法创建对象

document.write("第一种方法创建对象" + "<br/>");

people1 = new Object(); //创建了一个people对象

people1.name = "mxd";

people1.age= "20";

document.write("name1:" + people1.name + ", age1:" + people1.age);

// 第二种方法创建对象

document.write("<br/>"+"第二种方法创建对象" + "<br/>");

people2 = new Object();

people2 = {name:"method",age:"30"};

document.write("name2:" + people2.name + ", age2:" + people2.age);

//方法三创建对象

document.write("<br/>"+"第三种方法创建对象" + "<br/>");

function people3(name,age)

{

this.name = name;

this.age = age;

}

son = new people3("haha",34);

document.write("name3:" + son.name + ", age3:" + son.age);

</script>

九. JS内置对象-String

<script type="text/javascript">

var str = "Hello World";

//length打印字符串的长度

document.write("字符串的长度为:" + str.length);

document.write("<br/>");

//indexOf匹配并返回指定字符串在原字符串中的位置,若原字符串

//中不包含则返回-1

document.write("" + str.indexOf("Wor")); //查找匹配的字符串

document.write("<br/>");

//match匹配字符串,若包含则返回该匹配的字符串,若不包含则返

//回null

document.write(str.match("World") + "");

document.write("<br/>");

//replace替换原字符串中的字符段

document.write(str.replace("World", "MXD"));

document.write("<br/>");

//toUpperCase将字符串全部转换为大写

document.write(str.toUpperCase());

document.write("<br/>");

//toLowerCase将字符串全部转换为小写

document.write(str.toLowerCase());

document.write("<br/>");

//split按照指定字符节分割字符串为String数组

var str0 = "a b c d e f";

var arr = str0.split(" ");

document.write(arr[2]);

</script>

[说明]

除了上面的函数,String字符串对象还有以下属性和方法:

属性:length,prototype,constructor

方法:charAt(),charCodeAt(),concat(),fromCharCode(),indexOf(),

lastIndexOf(),match(),replace(),search(),slice(),substring(),

substr(),valueOf(),toLowerCase(),toUpperCase(),split()

十.JS内置对象-Date日期对象

<body onload="startTime()">

<script type="text/javascript">

var date = new Date();

document.write("当前时间:" + date);

document.write("<br/>");

document.write("今年是:" + date.getFullYear());

document.write("<br/>");

document.write("时间戳(毫米数):" + date.getTime());

document.write("<br/>");

//设置当前时期

date.setFullYear(2011, 1, 1);

document.write("设置之后的当前时间:" + date);

document.write("<br/>");

function startTime() {

var nowDate = new Date();

var hour = nowDate.getHours();

var minute = checkTime(nowDate.getMinutes());

var second = checkTime(nowDate.getSeconds());

document.getElementById("timeTxt").innerHTML = hour + ":" + minute + ":" + second;

t = setTimeout(function(){

startTime();

}, 500);

}

function checkTime(i) {

if ( i < 10 ) {

i = "0" + i;

}

return i;

}

</script>

<div id="timeTxt" />

</body>

[说明]

setTimeout(Function Code, delay time)函数是在延迟time时间长度之后,再执行FunctionCode代表的方法(执行一次)。

十一.JS内置对象-Array数组

<script type="text/javascript">

//合并两个Array数组

var a = ["hello", "world", "JS"];

var b = ["mxd", "study", "javascript"];

var c = a.concat(b);

document.write(c);

document.write("<br/>");

//对数组进行排序

var a_sort = ["c", "b", "d", "z", "e", "a"];

document.write(a_sort.sort());

document.write("<br/>");

var b_sort = [5, 1, 9, 3, 11, 6, 8];

document.write("升序排列<br/>");

var b_sheng = b_sort.sort(function (a, b) {

return a - b;

});

document.write(b_sheng);

document.write("<br/>降序排列<br/>");

var b_jiang = b_sort.sort(function (a, b) {

return b - a;

});

document.write(b_jiang);

//push一个元素到数组

document.write("<br/>");

var a_push = ["a","b",4];

a_push.push(5);

// 此处var l = a_push.push(5)之后,l为push之后a_push的长度

document.write(a_push);

//数组的翻转

document.write("<br/>");

var a_reverse = ["a","b","c","d"];

document.write(a_reverse.reverse());

</script>

十二.JS内置对象-Math对象

<script type="text/javascript">

//四舍五入

var num_round = Math.round(2.5);

document.write("2.5四舍五入的结果:" + num_round);

document.write("<br/>");

//随机数

var num_random = Math.random();

document.write("Math.random()返回的是从0到1的随机数:" +
num_random);

document.write("<br/>");

document.write("返回0到10的随机数:" + 10 * Math.random());

document.write("<br/>");

document.write("返回0到10的随机的整数:" +
parseInt(10 * Math.random()));

document.write("<br/>");

//最值

document.write("最大值:" + Math.max(1, 6, 12, 26));

document.write("<br/>");

document.write("最小值:" + Math.min(6, 12, -2, -10));

document.write("<br/>");

//绝对值

document.write("绝对值:" + Math.abs(-12));

</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: