GDG shanghai programming one hour by JavaScript

刚在昨天参加了一场JS入门编程的活动,目的就是提升对JS的兴趣。

因为是针对零基础开发者的,一上来就是“Hello World!”了

当然,想用JS输出"Hello World!"也有不止一种方法

第一种:

document.write("Hello World!");

alert("Hello World");

第二种:

var str ="Hello World!";

alert(str);

 

随后提到了,JS是一种弱类型的语言

比如JS的变量可以赋值为:

var str = undifined;

 

在JS中,下列两种操作也都会得出不同的结果:

var str = "2"+1;

document.write(str);
var str = "2"-1;

document.write(str);

这也是一种神奇的现象

 

在JS中写出“确定取消”选择窗口弹出时,可以这么写:

var str = prompt("Enter:

                 ");

alert("Hello" + str);

var bln = confirm("你确定要删除吗?

                  ");

if(bln === true){

  //do something

alert("已经删除");

}

此处注意:

三个等号不会做类型的匹配,尽量使用三个等号

在JS中尽量少使用两个等号

 

函数的表达也类似C语言:

 

function add(a,b)

{

  return a+b;

}

alert("2 + 3 = " + add(2,3));

 

 

但是随后讲到的东西我感觉听懂了但是写不出正确的代码:

错误代码:

function Person(name)

{

  this.myName = name;

  

  this.SayHello = function(friend)

  {

      document.write("Hello,"+firend+"!My name is "+this.myName);

  }

}

                     

var Jessica = new Person("Jessica");

alert(Jessica.myName);

要求输出应该为 在屏幕内输出一行Hello......,但是我这么写只能输出Jessica,不知道哪里出错了

 

随后将的一个东西是和上面这个有点联系,在函数外对对象赋值,具体看如下代码:

Jessica.sex = "Female";

alert(Jessica.sex);

Jessica.SayHello("XiaoMa");

var XiaoMa = {

  myName:"XiaoMa";

  SayHello:function(friend){

    documet.write("Hello,"+firend+"!My name is "+this.myName);

  }

};

同样,也有错误

 

有关JS是面向对象的语言,还提到了一个例子:

  var TrainingRoom1 = {

    temprature: 21,

    person:[XiaoMa,Jessica,Lookon,Leo],

    AddPeople:function(people){person.push(people);}

  }



alert(XiaoMa.myName);

XiaoMa.Sayhello("Jessica");

 

在最后,我写了一道题目,只是补充了JS中缺漏的函数部分,HTML,CSS已经完整提供

完整的网页就是可以让用户和计算机猜拳比拼胜负

<div class="finger-guessing">

  <div id="choice" class="choice">

    <label><input name="custom" type="radio" value="石头" checked/>石头</label>

    <label><input name="custom" type="radio" value="剪刀" />剪刀</label>

    <label><input name="custom" type="radio" value="布" /></label>

  </div>

  <div class="info">

    <span class="choice-result">PLAYER: <span id="player"></span></span>

    <span class="choice-result">COMPUTER: <span id="computer"></span></span>

    <br /><button id="start" type="button">START</button>

    <div id="result"></div>

  </div>

</div>
View HTML
@c1: #FF6138;

@c2: #FFFF9D;

@c3: #BEEB9F;

@c4: #79BD8F;

@c5: #00A388;

body {

  background-color: @c5;

}

.finger-guessing {

  width: 100%;

  height: 100%;

  background: @c5;

  .choice {

    height: 100px;

    text-align: center;

    padding: 50px 0;

    border-bottom: 5px dotted @c3;

    label {

      display: inline-block;

      width: 150px;

      padding: 20px 0;

      margin: 0 10px;

      font-size: 36px;

      // font-weight: bold;

      color: @c3;

      border-width: 5px;

      border-style: solid;

      border-color: @c3;

      &:hover {

        cursor: pointer;

        color: @c2;

        border-color: @c2;

      }

    }

  }

  .info {

    padding: 50px 0;

    text-align: center;

    width: 100%;

    // background-color: @c4;

    .choice-result {

      display: inline-block;

      text-align: left;

      width: 200px;

      height: 30px;

      line-height: 30px;

      // border: 1px solid black;

      color: @c3;

      font-size: 24px;

      // font-weight: bold;

      padding: 10px 30px;

    }

    #start {

      margin: 40px 0 30px;

      cursor: pointer;

      width: 200px;

      height: 60px;

      font-size: 30px;

      color: @c5;

      background: @c3;

      border: 5px solid @c2;

      border: none;

      &:hover {

        color: @c5;

        background: @c2;

      }

    }

    #result {

      font-size: 64px;

      // font-weight: bold;

      color: @c3;

    }

  }

}
View CSS
// 随机产生一个选择

var randomComputerChoice = function() {

  var computerChoice = Math.random();

  if (computerChoice < 0.34) {

        computerChoice = "石头";

  } else if(computerChoice <= 0.67) {

        computerChoice = "布";

  } else {

        computerChoice = "剪刀";

  }

  return computerChoice;

};



/** 

 * 定义一个函数 getCustomChoice,这个函数用来获取玩家当前选择的是石头、剪刀还是布

 * js 中函数声明的方式为,你可以参考上面的函数:

 *   function foo(arg_1, arg_2) {

 *     return 0;

 *   }

 * tips: 1. 通过 document.getElementsByName() 来获取 DOM 节点的数组

 *       2. 遍历获取的数组,检查节点的 checked 属性

 *          如果节点的 checked 属性是 true,那么该元素就是用户当前选中的节点

 *       3. 你可以通过 alert(value) 来调试这个函数的返回值

 */



var getCustomChoice = function()

{

  var choices = document.getElementsByName('custom');

  for(var i = 0, len = choices.length; i < len ; i++ )

  {

    if(choices[i].checked === true )

    {

      //alert(choices[i].checked);

       return choices[i].value;

    }

  }

};



/** 

 * 定义一个函数 compare,这个函数有两个参数 choice1 和 choice2

 * 这个函数用来判断 choice1 和 choice2 那个获胜

 * 输入: choice1 和 choice2 为 ["石头", "剪刀", "布"] 中的一个值

 * 返回值: choice1 获胜返回 1

 *         choice2 获胜返回 -1

 *         平手返回 0

 * tips: 1. 使用 if 语句,js 的 if 语句语法:

 *            if (expression_1) {

 *              // your code

 *            } else if (expression_2) {

 *              // your code

 *            } else {

 *              // your code

 *            }

 */





var compare = function(choice1, choice2){

  if(choice1 === choice2){

    return 0;

  }

  if(choice1 === '石头')

  {

    if(choice2 === '布')

    {

      return -1;

    } 

    else 

    {

      return 1;

    }

  }

  if(choice1 === '剪刀')

  {

    if(choice2 === '石头')

    {

      return -1;

    } 

    else 

    {

      return 1;

    }

  }

  if(choice1 === '布')

  {

    if(choice2 === '剪刀')

    {

      return -1;

    } 

    else 

    {

      return 1;

    }

  }

};



// 显示结果

document.getElementById('start').onclick = function(){

  var customChoice = getCustomChoice();

  var computerChoice = randomComputerChoice();

  document.getElementById('player').innerHTML = customChoice;

  document.getElementById('computer').innerHTML = computerChoice;

  var result = compare(customChoice, computerChoice);

  var resultStr = '';

  if (result === 0) {

    resultStr = '平局';

  } else if (result === 1) {

    resultStr = '你赢了';

  } else {

    resultStr = '你输了';

  }

  document.getElementById('result').innerHTML = resultStr;

};



 暂时成品代码:



<html>

<body>

<script>

function Person(name)

{

  this.myName = name;

  

  this.SayHello = function(friend)

  {

      document.write("Hello,"+firend+"!My name is "+this.myName);

  }

}

                   

var Jessica = new Person("Jesica");

//alert("Hello,"+"firend"+"!My name is "+Jessica.myName);

document.write("Hello,"+"firend"+"!My name is "+Jessica.myName);



var str = prompt("Plz scan ur name:");

alert("Hello , " + str);

var bln = confirm("Next ,I'll ask u a question , " + str + ", r u foolish enough?");

if(bln === true){

  //do something , 三个等号不会做类型的匹配,尽量使用三个等号

alert("to be closed");

} else {

  alert("We'll continue!");

}



</script>

</body>

</html>

 

 

 

你可能感兴趣的:(programming)