php - 用ajax更改脚本标签,为什么仍然有效?

标签 php javascript jquery ajax

嗨,我的问题是关于如何解决问题的...一位 friend 的 html 代码如下:

<div id="result">
    <script type="text/javascript">
        function selectColor(value){
            return "#319336";
        }
    </script>
</div>

并通过 jQuery .load() 调用结果调用 PHP 文件,该文件中的函数会发送这样的 JavaScript 函数

<?php
    function returnFuntion(){
        return '<script type="text/javascript">
            function selectColor(value){
                switch(value){
                    case "a":
                        return "#000000";
                        break;
                    case "b":
                        return "#FFFFFF";
                        break;
                    default:
                        return "#319336";
                }
        }</script>';
    }
?>

我不知道这是如何工作的,但适用于所有浏览器,我的 friend 说“它有效,不用担心”。会发生什么?为什么 JavaScript 能识别新代码而不是旧代码?这是正确的方法吗?最初的问题是 JavaScript 函数返回值必须随从 PHP 获取的 MySQL 值而变化。

最佳答案

这些是函数声明,解析器总是在读取任何代码之前读取这些声明。

因此,当定义第二个函数时,第一个函数将被简单地覆盖

  function a(){

        alert('Hello');
    }

    function a(){

       alert('Second Function !!');
    }

    a(); // Call-- 

FIDDLE

关于php - 用ajax更改脚本标签,为什么仍然有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13035585/

相关文章:

php - 如果我不使用 MySQL,我应该担心 PHP 注入(inject)吗?

javascript - 使用可拖动事件增加 div 的宽度,并排显示

php - sql 数据库/php 中的模式值

php - Mysql说表不存在时存在。有什么问题吗?

javascript - 如何设计有很多ajax调用的页面?

javascript - 正则表达式提取子字符串,由于某种原因返回 2 个结果

javascript - 如何使用浅渲染而不是使用 NO_ERRORS_SCHEMA 编写 Angular Jasmine 简单的 'should create' 测试用例

javascript - ajax数据到具有相同id的输入字段

javascript - 如何用Spark读取Client发送过来的数据?

php - 无法连接到数据库 : Access denied for user '' @'localhost' to database 'socialdb'