PHP综合测试(答题时间:90分钟总分100分)选择题每道1.5分大题每道5分1、下面哪一项不是PHP中面向对象的机制()A.类B.属性、方法C.单一继承D.多重继承2、如何让一个对象实例调用自身的该对象的方法函数“mymethod”?()A.$self=mymethod();B.$this-mymethod();C.$current-mymethod();D.$this::mymethod();3、如果成员没有声明限定字符,属性的默认值是:()A.privateB.protectedC.publicD.final4、PHP中调用类文件中的this表示()A.用本类生成的对象变量B.本页面C.本方法D.本变量5、以下是一个类的声明,其中有两个成员属性,对成员属性正确的赋值方式是()classDemo{private$one;static$two;functionsetOne($value){$this-one=$value;}}$demo=newDemo();A.$demo-one=abc;B.Demo::$two=abc;C.Demo::setOne(abc);D.$demo-two=abc;6、在PHP5的类的定义中,无法使用3P修饰的内容是()A.属性B.静态方法C.常量D.方法7、在PHP5的类的定义中,如果方法M1能够调用方法M2,但M2不能调用M1,那么M1和M2应该符合?()A.M2是静态方法而M1不是B.M1是静态方法而M2不是C.M1和M2都是静态方法D.M1和M2都不是静态方法8、以下四条接口与抽象类的对比分析,哪条是错误的()A.接口和抽象类都可以只声明方法而不实现它。B.抽象类可以定义类常量,而接口不能。C.抽象类可以实现具体的方法,而接口不能。D.抽象类可以声明属性,而接口不能。9、.针对PHP5中特有的魔法方法(MagicMethods),下列四句中哪句是错误的()A.__get和__set方法用于设置并不存在的类实例的属性成员B.__call方法用于调用并不存在的类的方法成员C.__sleep和__wakeup方法用于在序列化类实例时处理其中的外部资源和冗余数据D.通过__get方法,我们可以实现类的只读属性,而__set方法可以实现只写属性10、下列描述正确的是()A、JavaScript是一种编译型语言B、JavaScript是一种基于对象和事件驱动的编程语言C、JavaScript中变量声明采用强定义类型D、JavaScript采用静态联编11、制作级联菜单功能时调用的是下拉列表框的()事件。AonClickBonChangeConmouseoutDonmousemove12、对JavaScript功能说法正确的是:()A、JavaScript可以编辑客户端文件B、JavaScript可以获取服务器中的时间C、JavaScript代码由浏览器解释执行D、JavaScript可以接收用户提交的表单13、在下面的选项中,在HTML文档中使用JavaScript并调用test()方法,不正确的是:()A、ahref=”javascript:test()”单击/aB、divonclick=”test()”单击/divC、scripttype=”text/javascript”test()/scriptD、scriptsrc=”test.js”test()/script14、在HTML文档中嵌入JavaScript代码,不正确的是:()A、scriptlanguage=”javascript”/scriptB、script/scriptC、scriptlanguage=”ECMAscript”/scriptD、scriptlanguage=”js”/script15、对JavaScript基本语法描述不正确的一项是:()A、JavaScript严格区分大小写B、JavaScript程序代码的格式,每条功能执行语句的最后必须用分号(;)结束C、JavaScript脚本程序可以独立保存为一个外部文件,但其中不能包含script/script标签。D、JavaScript中使用单引号和双引号声明的字符串没有任何区别16、在js中判断是否为数字的函数是()A.isNaNB.numberC.numbericD.int17、js中取得指定字符在字符串中的位置的函数是()A、indexofB、indexofvalueC、indexOfD、addindex18、js中获取字符串第一个字符可以使用()A、charAt(0)B、indexfirst()C、onecharD、firstvalue19、在js中获取html的下拉列菜单item第一个option的值,用()A、item.options[0].valueB、item.selectedIndex.textC、item.first.textD、this.value20、对于代码:inputtype=buttonvalue=点一下onclick=alert('你好')分析正确的是()a)Onclick表示鼠标移上去的事件b)这个代码运行时将报错c)点击这个按扭时弹出提示框,并显示“你好”d)必须把alert改为window.alert才能正常运行21、若y,x,z为int型变量,则执行以下语句后,z的值为()varx=10;y=x+++++x;z=y-----y;A、12B、2C、10D、022、以下代码执行结果为:()scriptvarnum=24linux+6;alert(num)/scriptA30B24linux6C6D30linux23、以下代码运行结果:()scriptvarA=PHPJavaScript;varB=PHPJavaScript;varC=A.substr(3);varD=B.substring(0,3);alert(C+is+D);/scriptAJavaScriptisPHPBisJavaScriptCPHPisJavaScriptDJavaScriptis24、以下JavaScript的内置对象中,哪一个是静态对象,不用通过new关键字去实例化:()A、StringB、DateC、MathD、Array25、在HTMLDOM中,那一项不是document对象中的成员:()A、bgColorB、onloadC、titleD、forms26、在下面有一个名为frm的表单,在这个表单中有一个name=username的属性,value属性的值为admin,在javaScript中获取值admin的方法不正确的是:()formname=”frm”Username:inputtype=”text”name=”username”value=”admin”//formA、document.frm.username.valueB、document.forms[“frm”].username.valueC、document.forms.item(“frm”).username.valueD、document.frm[0].username.value27、在下面给出的JavaScript事件中,那一个可以在非表单中使用:()A、submitB、focusC、changeD、keydown28、执行完以下代码后,变量$num的值为:()scriptvarnum=10;functioncsdn(number){Varnumber=number+20}csdn(num);alert(num);/scriptA、10B、20C、30D、显示错误29、js中控制浏览器页面后退使用()A、history.back()B、backC、goD、document.go(-1)30、当Ajax请求完成时,XMLHttpRequest对象的readyState值是()A、1B、2C、3D、431、定义抽象类时需要加的修饰关键字()A.publicB.interfaceC.implementsD.abstract32、一个类继承父类的同时实现多个接口的正确写法()A.class类名extends父类名,接口1,接口2,……{}B.class类名implements接口1,接口2,……extends父类名{}C.class类名extends父类名implements接口,1接口2,……{}D.class类名implements父类名implements接口,1接口2,……{}33、自动加载类函数()A.include()B.require()C.__autoload()D.__call()34、能够返回键盘上的按键对应字符的事件是()AonKeyDownBonKeyPressConKeyUpDonMouseOver35、如果父类中方法加上private修饰关键字,子类在继承中重载此方法不可以使用的修饰关键字()A.varB.publicC.protectedD.private36、除了使用function__construct()定义构造方法外,还可以使用()A.function__destruct()B.function类名()C.function__tostring()D.function__call()37、获得实例化对象所属类名字的函数()A.get_class()B.get_object_vars()C.get_class_methods()38、以下说法错误的是()A.final关键字标识的类不能被继承B.final关键字标识既可以标识成员方法,也可以标识成员属性C.在静态方法中只能访问静态成员D.将类中的成员属性定义为常量使用const39、以下说法错误的是()A.在外部访问静态成员属性时使用类名::静态成员属性名B.在外部访问静态成员属性时使用$实例化对象-静态成员属性名C.在外部访问静态方法时使用$实例化对象-静态方法名D.在外部访问静态方法时使用类名::静态方法名40、以下哪个技术不是Ajax技术体系的组成部分?A.XMLHttpRequestB.DHTMLC.CSSD.DOM二、编程题(共8道)1,请通过写出一个表单,包含标题和内容。标题为title,内容字段为contenthtmlheadtitle内容/titlemetacharset=’utf-8’//headbodyformaction=’1.php’method=’post’inputtype=’text’name=’title’value=’’/br/textareaname=’content’rows=’4’cols=’40’/textareabr/inputtype=’submit’name=’sub’value=’提交’//form/body/html2,请接收到title和content内容?PhpEcho$_POST[‘title’];Echo$_POST[‘content’];?3,设计一个数据库test,表名为test_content字段为id,title和contentCreatetabletest(Idintunsignednotnullauto_incrementprimarykey,Titlechar(30)notnulldefault‘标题’,Contentvarchar(255)notnulldefault‘内容’)ENGINE=InnoDBDEFAULTCHARSET=UTF8;4,将接收到的内容title和content采用pdo预处理的方式写入进入数据库?PhpTry{$pbo=newPDO(‘mysql:dbname=test;host=localhost’,’root’,’123’);$pdo-query(‘setnamesutf8’);}ca